python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件
python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件
使用qq的邮件服务器需要注意的两个地方主要是:
1.协议问题 使用465端口 SSL 协议
2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们使用qq服务器发送 需要先到邮箱里设置独立密码(必须), 然后开启
SMTP/POP3服务。然后用qq手机安全中心扫一扫会给一个授权码, 在代码中要填写的密码是这个授权码, 而不是邮箱密码!
示例代码:
# python3 # author:lizm # date:2018-07-18 10:00:00 # -*- coding: utf-8 -*- ''' description:登录qq邮箱发送邮件 ''' from smtplib import SMTP_SSL from email.header import Header from email.mime.text import MIMEText #邮件定义 mail_info = { "from": "******@qq.com", "to": "******@qq.com", "hostname": "smtp.qq.com", "username": "******@qq.com", "password": "*******", "mail_subject": "test", "mail_text": "hello, this is a test email, sended by py", "mail_encoding": "utf-8" } if __name__ == '__main__': #使用SMTP_SSL就是默认使用465端口 smtp = SMTP_SSL(mail_info["hostname"]) #set_debuglevel()是用来调试的。参数值为1表示开启调试模式,参数值为0关闭调试模式 smtp.set_debuglevel(1) #连接服务器 smtp.ehlo(mail_info["hostname"]) #邮箱登录 smtp.login(mail_info["username"], mail_info["password"]) #填写正文内容 msg = MIMEText(mail_info["mail_text"], "plain", mail_info["mail_encoding"]) #填写邮件标题 msg["Subject"] = Header(mail_info["mail_subject"], mail_info["mail_encoding"]) #发送者邮箱地址 msg["from"] = mail_info["from"] #接收者邮件地址 msg["to"] = mail_info["to"] #发送邮件 smtp.sendmail(mail_info["from"], mail_info["to"], msg.as_string()) #退出 smtp.quit()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南