目录
python 的电子邮件编程
两个内建模块
email 模块, 用于准备邮件内容的模块
smtplib 模块, 用于与邮件服务器连接并发送邮件的模块使用 QQ 邮箱来发送电子邮件
两步
配置QQ邮箱, 开启SMTP服务的设置, 获取验证码
编写 python 程序发送邮件
配置 QQ邮箱的SMTP 服务
网址: mail.qq.com
授权码:
aaaa bbbb cccc dddd
1.开启SMTP服务设置, 获取验证码
进入QQ邮箱的官网: mail.qq.com登陆
滑动滑块进行验证
得到 如 aaaa bbbb cccc dddd 格式的验证码保存起来供后续使用
进入QQ邮箱的设置界面
向下拖动滚动条,找到
POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
,开启SMTP设置用手机 将
配置邮件客户端
发送到1069 0700 69
然后点击 我已发送
如果SMTP 服务开启成功,且
IMAP/SMTP服务
状态显示关闭则说明QQ 邮箱的SMTP 服务开启成功
2.编写Python程序发送邮件示例
from email.mime.text import MIMEText from email.header import Header import smtplib import getpass def inet_mail(body, sender, receivers, subject, host, passwd): # 准备正文,plain表示纯文本内容 message = MIMEText(body, 'plain', 'utf8') # 设置头部消息 message['From'] = Header(sender, 'utf8') message['To'] = Header(receivers[0], 'utf8') message['Subject'] = Header(subject, 'utf8') # 发送邮件 smtp = smtplib.SMTP() # 创建smtp对象 smtp.connect(host) # 连接服务器 # smtp.starttls() # 如果服务器要求安全连接,则打开此注释 smtp.login(sender, passwd) smtp.sendmail(sender, receivers, message.as_bytes()) if __name__ == '__main__': body = 'python互联网邮件测试\n' sender = '77878045@qq.com' receivers = ['77878045@qq.com', 'weimz@tedu.cn'] subject = 'python email test' host = 'smtp.qq.com' # 密码不是登陆密码,而是授权码 passwd = getpass.getpass() inet_mail(body, sender, receivers, subject, host, passwd)