Python之SMTP发送邮件
近日看到一教学视频,是用163邮箱发送邮件,但是亲测之后发现不能实现,执行程序总是报错。
后来询问一程序员老铁,老铁给我回复可能是163邮箱审核比较严。后来自己发现也可能是因为
所看的教学视频与现在的时间差造成的。后来改用QQ邮箱,程序执行成功。执行程序之前要对
所用的QQ邮箱进行设置,如下图所示,点击"设置":
然后再点击"邮箱设置"中的"账户",如下图所示:
接着将滚动条下拉,直到"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务",开启前两
项服务,如下图所示:
在开启前两项服务时要用密保手机号发送短信,发送成功后,邮箱界面会弹出对话框,上面有一
串字母,就是授权码,将授权码记下。
程序代码如下:
#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()
亲测该方法在目前可用,感谢您的观看,不足之处请指正!!