Page

[python3]配置qq邮箱smtp服务

812Anson16-11-02



#!E:\software\python3 python
from email.header import Header
from email.mime.text import MIMEText
from email.utils 
import parseaddr, formataddr, smtplib

def _format_addr(s):
    name, addr = parseaddr(s)
    return formataddr((Header(name, 'utf-8').encode(), addr))

to_addr = input('To: ')

# 第三方 SMTP 服务

smtp_server="smtp.qq.com"  #设置服务器
mail_user="******@qq.com"    #用户名
mail_pass="***********"   #口令,QQ邮箱是输入授权码,在qq邮箱设置 里用验证过的手机发送短信获得,不含空格

msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
msg['From'] = _format_addr('Python爱好者 <%s>' % mail_user)
msg['To'] = _format_addr('管理员 <%s>' % to_addr)
msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode()

server = smtplib.SMTP_SSL(smtp_server, 465)
server.set_debuglevel(1)
server.login(mail_user, mail_pass)
server.sendmail(mail_user, [to_addr], msg.as_string())
server.quit()


注意事项:

qq邮箱使用ssl加密方式,所以要将smtplib.SMTP() 改成了smtplib.SMTP_SSL()

QQ邮箱的SMTP服务端口不是默认的25.需要改为465;

qq邮箱使用授权码口令,mail_pass填上诸如"frlnzkjkrertbbhc"这样的口令。


成功效果:

blob.png





来自ansion博客

2016年11月2日