Python用SMTP发邮件,

常规发送,端口25

message = MIMEText('邮件正文内容', 'html', 'utf-8')  # plain html
message['From'] = "lygaw@126.com"
message['To'] = "10287093@qq.com"
subject = '这是来自Python的测试邮件'  # 标题
message['Subject'] = Header(subject, 'utf-8')
try:
    smtpObj = smtplib.SMTP()
    smtpObj.connect("smtp.126.com", 25)  # 25 为 SMTP 端口号
    smtpObj.login("lygaw@126.com", "密码")
    smtpObj.sendmail("lygaw@126.com", "10287093@qq.com", message.as_string())
    print("邮件发送成功")
except:
    print("无法发送邮件")

在有些25端口被封的服务器上要发邮件可以尝试用SSL发送,比如网易,需要用正确的账号密码进行登陆验证

smtpObj = smtplib.SMTP_SSL("smtp.126.com", 465)
smtpObj.ehlo()
smtpObj.login(user, _pwd) #user 是发件箱@前面的内容
smtpObj.sendmail(_sender, _receiver, message.as_string())

在阿里云服务器上通过SSL发信已成功通过测试