Python之SMTP发送邮件

近日看到一教学视频,是用163邮箱发送邮件,但是亲测之后发现不能实现,执行程序总是报错。

后来询问一程序员老铁,老铁给我回复可能是163邮箱审核比较严。后来自己发现也可能是因为

所看的教学视频与现在的时间差造成的。后来改用QQ邮箱,程序执行成功。执行程序之前要对

所用的QQ邮箱进行设置,如下图所示,点击"设置":

Python之SMTP发送邮件

然后再点击"邮箱设置"中的"账户",如下图所示:

Python之SMTP发送邮件

接着将滚动条下拉,直到"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务",开启前两

项服务,如下图所示:

Python之SMTP发送邮件

在开启前两项服务时要用密保手机号发送短信,发送成功后,邮箱界面会弹出对话框,上面有一

串字母,就是授权码,将授权码记下。

程序代码如下:


#coding=gbk


#发邮件的库
import smtplib
#邮件文本的库
from email.mime.text import MIMEText

def testEmail():
    #SMTP服务器
    SMTPServer = 'smtp.qq.com'
    #发邮件的地址
    sender = "qq号码@qq.com"
    #发送者邮箱的密码

    passwd = "记下的授权码"    

    #设置发送的内容

    message = 'You are a good man'
    #转换成邮件文本
    msg = MIMEText(message, 'plain', 'gbk')
    #标题
    msg["Subject"] = "来自帅哥的问候"
    #发送者
    msg["From"] = sender


    #创建SMTP服务器
    mailServer = smtplib.SMTP(SMTPServer, 25)
    print("server ok")
    mailServer.set_debuglevel(1)
    
    #登录邮箱
    mailServer.login(sender, passwd)
    print("login ok")
    #发送邮件
    mailServer.sendmail(sender, ["qq号码@qq.com"], msg.as_string())
    #退出邮箱
    mailServer.quit()

if __name__=="__main__":

    testEmail()


亲测该方法在目前可用,感谢您的观看,不足之处请指正!!