本章节所说的是利用第三方邮件服务器进行发送邮件(qq),邮箱记得改成自己的
只考虑成功发送邮件的入门教程,复用性很低,请自己了解后再进行优化。
完整代码再尾部!完整代码再尾部!完整代码在尾部!
事先准备:
第一步:登陆QQ_Email
第二步:点击页面上面的设置:
第三步:切换到账户分页
第四步:开启前三个服务,你会获得一个授权码,把这个授权码记录保存
开始编写:
涉及到的库:SMTP_SSL、MIMEText
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
创建SMTP实例
SmtpObj = SMTP_SSL()
连接到服务器,并且登陆:
SmtpObj.connect("smtp.qq.com",465)
SmtpObj.set_debuglevel(1)
SmtpObj.ehlo("smtp.qq.com")
SmtpObj.login("815787213@qq.com","Your_password") #Your_password刚刚QQ开启POP3/SMTP服务的第一个授权码
设置邮件内容:
msg = MIMEText("Welcome To Python Email",_subtype="plain") #默认_subtype为plain,先不考虑其他的类型---邮件内容
msg["Subject"]="Python First Send Email(SSL)" #邮件的标题
有些地方发送的消息头是乱码的:
我们需要对此进行处理:
from email.header import Header
from email.utils import formataddr
msg["From"]=formataddr((Header("Python_Email","utf-8").encode(),"815787213@qq.com"))
设置接受邮箱:
msg["To"]="815787213@qq.com"
发送邮件:
SmtpObj.sendmail(msg["From"],msg["To"],msg.as_string())
结果:
完整代码:(邮箱请改成自己的)
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
import socket
#1.Create smtp
SmtpObj = SMTP_SSL()
SmtpObj.connect("smtp.qq.com",465)
SmtpObj.set_debuglevel(1)
SmtpObj.ehlo("smtp.qq.com")
SmtpObj.login("815787213@qq.com","Your_Password") #Your_password为你的授权码,邮箱是你自己的!!
#2.Gou zao Email content
msg = MIMEText("Welcome To Python Email",_subtype="plain")
msg["Subject"]="Python First Send Email(SSL)"
#format
from email.header import Header
from email.utils import formataddr
msg["From"]=formataddr((Header("Python_Email","utf-8").encode(),"815787213@qq.com"))
msg["To"]="815787213@qq.com"
try:
SmtpObj.sendmail(msg["From"],msg["To"],msg.as_string())
print "Send Successful!"
except smtplib.SMTPException:
print "Failed..."