#!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"这样的口令。
成功效果:
来自ansion博客
2016年11月2日