Python SMTP发送邮件

在学习用SMTP发送邮件时遇到了很多的异常,经多次修改后终于能发送出去了,现将代码和方法贴出来一起交流学习。

首先,要确保邮箱中的STMP协议是打开的,还有要留意该邮箱的SMTP服务器地址。

Python 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()

发送需要一段时间,发送后结束程序

Python SMTP发送邮件

发送成功

 

此方法还可以发送HTML邮件,只需修改msg的参数即可

msg = MIMEText('<html><body><h1>Hello</h1>'+'</body></html>', 'html', 'utf-8')

发送结果

Python SMTP发送邮件