前言
在操作开发中,用python发送邮件是一个非常常见的场景。今天,让我们来看看Github的大牛们如何使用Python来封装发送邮件代码。
发送电子邮件的一般方法
SMTP是发送邮件的协议。python有内置的smtp支持发送纯文本邮件、html邮件和带附件的邮件。
这就是我们在python中使用自动化邮件所做的:
![](https://img.haomeiwen.com/i15184619/11a49d8b54f436c8.png)
python需要掌握两个模块的使用,smtplib和email,这两个模块都是python自己的,只需导入即可使用。smtplib模块主要负责邮件的发送,email模块主要负责邮件的构建。
smtplib模块主要负责发送邮件:发送邮件、连接邮箱服务器、登录邮箱、发送邮件(包括发件人、收件人、邮件内容)。
电子邮件模块主要负责邮件的建设:指电子邮件页面的建设,如发件人、收件人、主题、正文、附件等。
事实上,此代码并不复杂,只要您了解电子邮件的使用,那么您必须考虑以下问题:
您的登录电子邮件帐户/密码
对方的电子邮件帐户
电子邮件内容(标题、正文、附件)
邮件服务器(smtp.xxx.com/pop3.xxx.com)
如果你想在电子邮件的正文中嵌入图像怎么办?你能在HTML邮件中直接链接图像地址吗?答案是,大多数电子邮件服务自动阻止图像与外部链接,因为他们不知道链接是否指向恶意网站。
为了将图像嵌入到电子邮件的正文中,我们只需按照发送的方式添加电子邮件作为附件,然后我们可以通过引用src=“cid:0”将图像作为附件嵌入到HTML中。如果您有多个图像,请逐个编号,然后参考不同的cid:x。
![](https://img.haomeiwen.com/i15184619/a578dc33b4f5e7a2.png)
yagmail 实现发邮件
yagmail 可以更简单的来实现自动发邮件功能。
github项目地址:
代码开源,解释如下:
安装:
pip install yagmail
简单例子:
![](https://img.haomeiwen.com/i15184619/3b111a04b16a5433.png)
给多个用户发邮件:
只需要将接收邮箱 变成一个list即可。
yag.send(['aa@126.com','bb@qq.com','cc@gmail.com'], 'subject', contents)
发送附件
如何发送附件呢?只要添加一个附件列表就可以了。
yag.send('aaaa@126.com', '发送附件', contents, ["d://log.txt","d://baidu_img.jpg"])
抄送
![](https://img.haomeiwen.com/i15184619/08420ee2e8f75fbb.png)
很简单吧,开箱即用~~
网友评论