python发送邮件(QQ)_SSL

本章节所说的是利用第三方邮件服务器进行发送邮件(qq),邮箱记得改成自己的

只考虑成功发送邮件的入门教程,复用性很低,请自己了解后再进行优化。

完整代码再尾部!完整代码再尾部!完整代码在尾部!

 

事先准备:

第一步:登陆QQ_Email

第二步:点击页面上面的设置:

python发送邮件(QQ)_SSL

第三步:切换到账户分页

python发送邮件(QQ)_SSL

第四步:开启前三个服务,你会获得一个授权码,把这个授权码记录保存

python发送邮件(QQ)_SSL

开始编写:

涉及到的库: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("[email protected]","Your_password")    #Your_password刚刚QQ开启POP3/SMTP服务的第一个授权码

设置邮件内容:

msg = MIMEText("Welcome To Python Email",_subtype="plain")    #默认_subtype为plain,先不考虑其他的类型---邮件内容
msg["Subject"]="Python First Send Email(SSL)"    #邮件的标题

有些地方发送的消息头是乱码的:python发送邮件(QQ)_SSL

我们需要对此进行处理:

from email.header import Header
from email.utils import formataddr
msg["From"]=formataddr((Header("Python_Email","utf-8").encode(),"[email protected]"))

设置接受邮箱:

msg["To"]="[email protected]"

发送邮件:

SmtpObj.sendmail(msg["From"],msg["To"],msg.as_string())

结果:python发送邮件(QQ)_SSL

 

完整代码:(邮箱请改成自己的)

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("[email protected]","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(),"[email protected]"))
msg["To"]="[email protected]"

try:
    SmtpObj.sendmail(msg["From"],msg["To"],msg.as_string())
    print "Send Successful!"
except smtplib.SMTPException:
    print "Failed..."