使用python发送邮件
这里用到了Python的两个包来发送邮件: smtplib 和 email 。
Python 的 email 模块里包含了许多实用的邮件格式设置函数,可以用来创建邮件“包裹”。使用的 MIMEText 对象,为底层的 MIME(Multipurpose Internet MailExtensions,多用途互联网邮件扩展类型)协议传输创建了一封空邮件,最后通过高层的SMTP 协议发送出去。 MIMEText 对象 msg 包括收发邮箱地址、邮件正文和主题,Python 通过它就可以创建一封格式正确的邮件。smtplib 模块用来设置服务器连接的相关信息。
要想通过QQ邮箱来发送邮件,需要开启163邮箱的设置-账户里SMTP服务,接下来会通过发送短信验证来获得授权码,有了授权码后就可以在代码里添加了。
以下代码都是在python3.6环境下运行:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #coding=utf-8 import smtplib from email.mime.text import MIMEText from_mail = "xxxx@163.com" # 发件人 to_mail = "xxxx@qq.com" # 收件人 mail_passwd = "xxxx" # 163邮件的授权码而不是登录密码 content = "this is the first python email" subject = "mail test" msg = MIMEText(content) msg[ 'Subject' ] = subject msg[ 'From' ] = from_mail msg[ 'To' ] = to_mail try : s = smtplib.SMTP() s.connect( 'smtp.163.com' ) # 连接到smtp服务器 s.login(from_mail,mail_passwd) # 登录163邮箱 s.sendmail(from_mail,to_mail,msg.as_string()) # 使用smtp服务器向外发送邮件 print ( "OK" ) except Exception as e: print (e) finally : s.close() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #coding=utf-8 import smtplib, sys from email.mime.text import MIMEText content = "this is the first python email" subject = "mail test" msg = MIMEText(content) msg[ 'Subject' ] = subject msg[ 'From' ] = sys.argv[ 1 ] # 使用脚本外带的参数输入发件人,收件人以及授权码 msg[ 'To' ] = sys.argv[ 3 ] try : s = smtplib.SMTP() s.connect( 'smtp.163.com' ) s.login(sys.argv[ 1 ],sys.argv[ 2 ]) s.sendmail(sys.argv[ 1 ],sys.argv[ 3 ],msg.as_string()) print ( "OK" ) except Exception as e: print (e) finally : s.close() |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!