使用python smtplib模块发送QQ邮件
程序员文章站
2022-07-10 15:24:20
...
首先我们了解到python代理登录QQ邮箱发送邮件,是需要更改自己QQ邮箱的设置的。即邮箱开启SMTP功能,获得授权码。(设置QQ邮箱授权码可以参考一下网址:[http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256])
这是一个QQ邮箱的帮助中心,有问题可以在其中搜索
1.发送纯文本到指定邮件,上代码
# 导入需要的模块
from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
def run():
# QQ邮箱smtp服务器
host_server = "smtp.qq.com"
# sender_qq为发件人的额qq号码
sender_qq = "594616387"
# pwd为QQ邮箱的授权码
pwd = "rflsszleaojtbajc"
# 发件人邮箱
sender_mail = "[email protected]"
# 收件人邮箱
receiver_mail = "[email protected]"
# 邮件的正文内容
mail_content = "你好,这里是使用python登录QQ邮箱发送邮件的测试"
# 邮件的标题
mail_title = "高加林的邮箱"
try:
# ssl登录
smtp = SMTP_SSL(host_server)
# set_debuglevel()是用来调试的,参数值为1表示开启调试模式,0为关闭调试模式
smtp.set_debuglevel(1)
smtp.ehlo(host_server)
smtp.login(sender_qq,pwd)
# 定义邮件内容
msg = MIMEText(mail_content,"plain","utf-8")
msg["Subject"] = Header(mail_title,"utf-8")
msg["From"] = sender_mail
msg["To"] = receiver_mail
# 发送邮件
smtp.sendmail(sender_mail,receiver_mail,msg.as_string())
smtp.quit()
print("邮件发送成功")
except Exception as e:
print("邮件发送失败")
print(e)
if __name__ == '__main__':
run()