介绍
这篇文章将为大家详细讲解有关如何在python中利用smtplib模块发送邮件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
<强> 1)使用smtplib模块发送简单邮件强>
<强>步骤:强>
1。连接SMTP服务器,并使用用户名:密码登陆服务器
2。创建EmailMessage对象,该对象代表了邮件本身
3。调用sendmail()方法发送邮件
<强>示例:强>
- <李>
我用自己的QQ邮箱(英文地址)给自己(原始地址)发一封邮件(QQ邮箱需要授权码(详见))
李> <李>smtplib.SMTP()代表的普通SMTP连接(默认端口21)
李> <李> smtplib.SMTP_SSL()代表基于SSL的SMTP连接(默认端口456年,安全)
import smtplib import email.message 时间=fromaddr & # 39; wk_helloworld@qq.com& # 39;, #,账号 时间=password & # 39; * * * * * * * * * * * * * * * * & # 39;,, #, QQ授权码 时间=conn smtplib.SMTP_SSL (& # 39; smtp.qq.com& # 39;,, 465), #,创建SMTP连接, conn.login (fromaddr,密码),,,,#,登录邮件服务器 时间=msg email.message.EmailMessage(),,, #,创建邮件对象 msg.set_content(& # 39;您好,Python邮件& # 39;),,,#,设置邮件内容(普通邮件) conn.sendmail (fromaddr, [& # 39; 929667257 @qq.com& # 39;],, msg.as_string()),, #,发送邮件 conn.quit(), #,退出连接
<强> 2)发送内容完整的邮件强>
- <李>
为邮件设置标题,发件人名字,收件人名(设置EmailMessage对象对应的属性)
李> <李>EmailMessage的set_content()方法的第二个参数设置为html可将邮件内容改为html格式
李>import smtplib import email.message 时间=fromaddr & # 39; wk_helloworld@qq.com& # 39; 时间=password & # 39; * * * * * * * * * * * * * * * * & # 39; , 时间=conn smtplib.SMTP_SSL (& # 39; smtp.qq.com& # 39;,, 465) conn.login (fromaddr,密码), 时间=msg email.message.EmailMessage () msg.set_content (& # 39; & lt; h3> HTML邮件& lt; h3> & # 39;, +, & # 39; & lt; div 在HTML邮件内容& lt;/div> & # 39;,, & # 39; HTML # 39;,, & # 39; utf - 8 # 39;) 味精(& # 39;主题# 39;],=,& # 39;HTML邮件& # 39; 味精(& # 39;从# 39;],=,& # 39;痴迷& lt; % s> & # 39;, % fromaddr 味精(& # 39;伍仟# 39;],=,& # 39;淡然& lt; % s> & # 39;, %, & # 39; 929667257 @qq.com& # 39; conn.sendmail (fromaddr, [& # 39; 929667257 @qq.com& # 39;],, msg.as_string ()) conn.quit ()
<强> 3)发送图文并茂的邮件强>
在邮件中插入图片,需要先调用EmailMessage的add_attachment()方法来添加附件,该方法参数:
- <李>
maintype:指定附件的主要类型
李> <李>亚型:指定附件的子类型
李> <李>文件名:指定该附件的文件名
李> <李> cid=img:指定该附件的资源ID
通过& lt; img…/祝辞元素来插入附件中的图片(引用附件的cid属性)
import smtplib import email.message import email.utils 时间=fromaddr & # 39; wk_helloworld@qq.com& # 39; 时间=password & # 39; * * * * * * * * * * * * * * * * & # 39; 时间=toaddr & # 39; 929667257 @qq.com& # 39; , 时间=conn smtplib.SMTP_SSL (& # 39; smtp.qq.com& # 39;,, 465) conn.login (fromaddr,密码), 时间=msg email.message.EmailMessage () 时间=first_id email.utils.make_msgid () msg.set_content (& # 39; & lt; h3> HTML邮件& lt; h3> & # 39;, ,,,+,& # 39;& lt; div 在html邮件内容& lt;/div> & # 39;, ,,,+,& # 39;& lt; https://www.yisu.com/zixun/img src=" cid: ' + first_id [1: 1] +”“>”、“html”、“utf - 8”) 味精(“主题”)=' HTML邮件” 味精['从']=% fromaddr工作<% s> 味精(',']=% toaddr k <% s> #添加附件 打开(图1. jpg, rb) f: #附件指定cid后,邮件正文可通过该cid来引用该图片 msg.add_attachment (f.read (), maintype=靶蜗蟆?子类型=癹epg”,文件名=test1.jpg, cid=first_id) 打开(图2. jpg, rb) f: msg.add_attachment (f.read (), maintype=靶蜗蟆?子类型=癹epg”,文件名=皌est2.jpg”) #张开(图3所示。gif, rb) f: # msg.add_attachement (f.read (), maintype=靶蜗蟆?子类型=癵if”,文件名=皌est.jpg”) conn.sendmail (fromaddr toaddr, msg.as_string ()) conn.quit ()如何在python中利用smtplib模块发送邮件