如何在python中利用smtplib模块发送邮件

  介绍

这篇文章将为大家详细讲解有关如何在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(), #,退出连接

如何在python中利用smtplib模块发送邮件

<强> 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 ()

如何在python中利用smtplib模块发送邮件

<强> 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模块发送邮件