python发送邮件
python中的smtplib模块是内置的发送邮件模块。
1.前置操作
在使用smtp模块发送邮件之前,需要先开启邮箱的smtp服务
以qq邮箱为例:
设置-账户-SMTP服务,根据提示开通SMTP服务,记录授权码
2.连接smtp服务并登陆
- qq邮箱的smtp服务器地址是 smtp.qq.com 端口是465
- 163邮箱的smtp服务器地址是 smtp.163.com 端口是465/25
2.1 连接smtp服务器
smtp = smtplib.SMTP_SSL(host="smtp.qq.com", port=465)
2.2 登陆smtp服务器
- 这里的password是授权码,而不是登陆时候使用的密码
smtp.login(user='',password='')
3.构造一封邮件
- 使用python中的email模块构造邮件
3.1 构造纯文本邮件
3.1.1 导入构造文本邮件的类
from email.mime.text import MIMEText
3.1.2 编辑邮件信息
- 邮件内容,
_text
参数中传入的是邮件的文字正文,_charset
参数声明编码方式,_subtype
声明正文的类型,默认_subtype='plain'
,即纯文本
msg = MIMEText(_text="0612的测试邮件", _charset='utf8')
-
邮件基本信息, 这里的收发件人信息是描述性的信息,并不是发送时候真实使用的收发件人信息,但这里的发件人信息要尽量和真实使用的发件人信息一致(邮箱服务器反垃圾机制)
msg['Subject'] = '测试邮件' msg["To"] = "XXXXX@163.com" msg["From"] = "XXXX@qq.com"
-
发送时在msg位置传入上面编辑的msg
smtp.send_message(msg='',from_addr='',to_addrs=''<