Python3.x 发送邮件

Python有两个包可以发送邮件:smtplib和email

# - * - coding: utf - 8 -*-
#
# 作者:田丰
# 邮箱:fonttian@163.com
# 撰写时间:2017年4月22日
# Python版本:3.6.1
# CSDN:http://blog.csdn.net/fontthrone
#
import smtplib
import email.mime.multipart
import email.mime.text

msg = email.mime.multipart.MIMEMultipart()
msgFrom = 'fonttian@163.com' #从该邮箱发送
msgTo = 'marktian1986@163.com' #发送到该邮箱
smtpSever='smtp.163.com' # 163邮箱的smtp Sever地址
smtpPort = '25' #开放的端口
sqm='将这里替换为你的授权码'  # 在登录smtp时需要login中的密码应当使用授权码而非账户密码

msg['from'] = msgFrom
msg['to'] = msgTo
msg['subject'] = 'Python自动邮件-'+dataNumber
content = '''
你好:
    这是一封python3发送的邮件
'''
txt = email.mime.text.MIMEText(content)
msg.attach(txt)
smtp = smtplib
smtp = smtplib.SMTP()
'''
smtplib的connect(连接到邮件服务器)、login(登陆验证)、sendmail(发送邮件)
'''
smtp.connect(smtpSever, smtpPort)
smtp.login(msgFrom, sqm)
smtp.sendmail(msgFrom, msgTo, str(msg))
# s = smtplib.SMTP("localhost")
# s.send_message(msg)
smtp.quit()

要注意的是现在的163需要先开启smtp服务,然后获取验证码才能真正的使用,其他邮箱也是类似的效果
此处仅仅以网易邮箱为例:
网易邮箱开启stmp服务

如图:
1.在登录网易邮箱网页版后,在图中的设置中点击”POP3/SMTP/IMAP”服务
2.然后点击图中黄色荧光笔位置,即可开始设置SMTP服务,注意保存授权码

原文地址:https://www.cnblogs.com/fonttian/p/7294843.html