python 3 发送邮件其实很简单,不过有很多需要注意的地方:
1.比如使用网易邮箱开启了应用密码,则应该使用应用密码
2.尽可能使用 SSL,但是使用 SSL 需要注意配置
smtplib.SMTP_SSL(smtp_server,smtp_port)
|
否则会报错
3.网易邮箱或一些邮箱必须加上
msg['From'] = msg['To'] = msg['Subject'] =
|
否则会发送不成功
完整代码如下:
def send_email(self,ticket_id,user=None):
|
def format_addr(s): name, addr = parseaddr(s) return formataddr((Header(name, 'utf-8').encode(), addr))
|
from_addr = password = smtp_server = to_addr = smtp_port = 465
|
msg = MIMEText("hello,world", 'plain', 'utf-8') # 发送邮箱地址 msg['From'] = format_addr("python 开发者" # 收件箱地址 msg['To'] = to_addr # 主题 msg['Subject'] = "测试测试"
|
server = smtplib.SMTP_SSL(smtp_server,smtp_port) server.set_debuglevel(1) server.login(from_addr, password) server.sendmail(from_addr, to_addr, msg.as_string()) server.quit()
|
文章作者:阿文
版权声明:本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0 许可协议。转载请注明来自
阿文的博客!