Python SMTP发送邮件
在学习用SMTP发送邮件时遇到了很多的异常,经多次修改后终于能发送出去了,现将代码和方法贴出来一起交流学习。
首先,要确保邮箱中的STMP协议是打开的,还有要留意该邮箱的SMTP服务器地址。
import smtplib
from email.mime.text import MIMEText
from email.header import Header
username = '[email protected]'
password = '********'#若设置了授权码,则用授权码代替密码
receiver = '[email protected]'
subject = '邮件测试'#邮件主题
smtpserver = 'smtp.163.com'#STMP服务器地址
msg = MIMEText('这是一封测试邮件', 'plain', 'utf-8')
msg['Subject'] =Header(subject,'utf-8' )
msg['from']=username
msg['to']=password
smtp=smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(username,password)
smtp.sendmail(username,receiver,msg.as_string())
smtp.quit()
发送需要一段时间,发送后结束程序
发送成功
此方法还可以发送HTML邮件,只需修改msg的参数即可
msg = MIMEText('<html><body><h1>Hello</h1>'+'</body></html>', 'html', 'utf-8')
发送结果