smtplib 发送邮件

使用smtp发送邮件,遇到不少坑,做个备忘。
直接上代码:

import smtplib
from email.mime.text import MIMEText

msg = MIMEText('Hello, send by Python...', 'plain', 'utf-8')   # 构造一个纯文本对象
from_addr = 'myaddr@126.com'      # 发送方的地址
password = input('Password:')         # 密码
to_addr = 'anotheraddr@qq.com'    # 收件人地址
smtp_server = 'smtp.126.com'        # smtp 服务器地址

msg['from'] = from_addr            
msg['to'] = to_addr

server = smtplib.SMTP()
server.set_debuglevel(1)
server.connect(smtp_server)
server.ehlo()
server.starttls()
server.ehlo()
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()

密码必须使用 SMTP/POP授权码,否则登录失败;
msg['from'], msg['to'] 添加发件人,收件人信息,否则会被邮件服务商当作垃圾邮件处理, 出现错误:

smtplib.SMTPDataError: (554, b'DT:SPM 126 smtp3,DcmowABnPvyMgLpZxSswBA--.40223S3 1505394829,please see http://mail.163.com/help/help_spam_16.htm?ip=180.164.240.102&hostid=smtp3&time=1505394829')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容