Python自动邮件发送

在日常工作中,我们经常需要收发电子邮件。不知道你有没有想过如果能自动发就很酷了~

就像模型运行图像检测经常运行一两天,主动查看模型进度太麻烦了~如果在生成报告后,模型运行后或者出现异常情况,可以自动发送邮件,实现自动邮件通知,岂不是很不方便?!

今天就和大家分享一下如何使用Python自动发送邮件。

在自动发送邮件之前,我们简单介绍一下需要用到的两个模块:smtplib和email。

smtplib模块主要用来建立服务器链接、服务器断开的工作; email模块主要负责邮件的构建,比如收件人、邮件标题、邮件内容等。

1.链接邮箱服务器

在发送邮件之前,您需要使用smtplib模块链接邮箱服务器。这里以连接腾讯企业邮箱为例。代码如下:

# 实例化SMTPsmtp = smtplib.SMTP# 链接邮件服务器smtp.connect# 配置发送邮箱的用户名和密码smtp.login 2. 配置邮件信息

邮件服务器链接完成后,我们可以配置发送邮件的信息,包括发送邮件的内容、收件人和抄送收件人的信息以及附件的内容。配置代码如下:

# 配置发送内容msgmsg = MIMEMultipartmsg.attach)msg = Headermsg = "huojc@create80.com"# 添加发送人邮件信息(支持群发)msg = ';'.join# 添加抄送人邮件信息msg = ';'.join # 抄送邮箱# 添加附件信息for a_path in :name = os.path.basename # 获取附件文件名part = MIMEApplication.read)part.add_header)) # 可以显示附件的中文名字msg.attach 3. 发送邮件

完成上述操作后,您可以发送邮件。发送邮件后,您需要关闭邮件服务。

# 发送邮件smtp.sendmail# 关闭邮件服务smtp.quit

为了方便起见,上面的代码被封装为send_email函数

def send_email:

函数中的参数描述如下:

SMTP_host:指定连接的邮箱服务器,常用邮箱的smtp服务器地址如下:新浪邮箱:smtp.sina.com, 搜狐邮箱:smtp.sohu.com 139邮箱:smtp.139.com 163网易邮箱:smtp.163.com 腾讯企业邮箱:smtp.exmail.qq.comfrom_account:发送邮箱的账号from_password:发送邮箱的密码to_account:接收邮箱名Cc_email:抄送邮箱名subject:发送邮件的标题content:发送邮件的内容attachment_path:发送附件的路径

Send_email代码如下:

import smtplibimport osfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.mime.application import MIMEApplicationfrom email.header import Headerdef send_email:# 实例化SMTPsmtp = smtplib.SMTP# 链接邮件服务器smtp.connect# 配置发送邮箱的用户名和密码smtp.login# 配置发送内容msgmsg = MIMEMultipartmsg.attach)msg = Headermsg = from_account# 添加发送人邮件信息msg = ';'.join #群发邮件# 添加抄送人邮件信息msg = ';'.join # 抄送邮箱# 添加附件信息for a_path in attachment_path:name = os.path.basename # 获取附件文件名part = MIMEApplication.read)part.add_header)) # 可以显示附件的中文名字msg.attach# 配置发送邮箱,接受邮箱,以及发送内容smtp.sendmail# 关闭邮件服务smtp.quit

send_email功能封装后,我们就可以轻松发送邮件了。就拿给腾讯公司邮箱发邮件来说吧

if __name__ == '__main__':my_email = 'huojc@create80.com' # 发送邮件的邮箱名my_email_password = '123456' # 邮箱密码to_email = # 接收者邮箱,可传入多个Cc_email = # 抄送邮箱,可以传入多个Email_title = '测试邮件-标题' # 设置发送邮件的标题Email_content = '测试邮件-内容' # 设置发送邮件的内容attachment_path = # 附件的路径# 使用前记得输入邮箱密码send_email

代码运行成功后,发送结果如下:

至此,这个分享就结束了。喜欢的话可以转发或者点击“观看”支持~点击原链接,可以下载Python工具代码快速检查手册,可以点击星星支持~

郝斌总是流泪

有趣的数据炼金术师,

IBM数据挖掘的前攻城狮,

在我开始之前,我一直是数据科学的领导者。

致力于数据科学知识共享和不定期的图书交付活动

1.《自动发邮件 自动邮件发送_任何情况立刻通知你》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《自动发邮件 自动邮件发送_任何情况立刻通知你》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/1759635.html