smtplib 发送邮件

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

import smtplib
from email.mime.text import MIMEText

msg = MIMEText('Hello, send by Python...', 'plain', 'utf-8')   # 构造一个纯文本对象
from_addr = '[email protected]'      # 发送方的地址
password = input('Password:')         # 密码
to_addr = '[email protected]'    # 收件人地址
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')

你可能感兴趣的:(smtplib 发送邮件)