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发信已成功通过测试