Python发送带HTML、图片和附件的邮件完整代码示例
58 浏览量
更新于2024-08-30
收藏 48KB PDF 举报
该资源提供了一个使用Python发送邮件的实例代码,支持HTML格式、嵌入图片和添加附件。代码中使用了Python的`email`、`mimetypes`、`smtplib`库来实现这一功能。
在Python中,发送邮件通常涉及到以下几个关键步骤和知识点:
1. **导入必要的模块**:
- `email`: 这个模块包含了处理电子邮件消息的类和函数。
- `mimetypes`: 用于识别文件的MIME类型。
- `MIMEMultipart`: 处理多部分消息,如包含文本、HTML和附件。
- `MIMEText`: 用于创建纯文本或HTML邮件。
- `MIMEImage`: 用于创建内联图片。
- `smtplib`: 提供了SMTP(Simple Mail Transfer Protocol)协议的客户端接口,用于发送邮件。
2. **定义`sendEmail`函数**:
- 函数接受几个参数,包括认证信息(如服务器、用户名、密码)、发件人地址、收件人地址列表、主题、纯文本内容和HTML内容。
- 在函数中,首先检查登录信息是否完整,如果不完整则退出。
- 创建一个`MIMEMultipart`对象`msgRoot`作为根容器,设置邮件的主题、发件人和收件人。
3. **创建多部分消息**:
- 使用`MIMEMultipart('related')`创建一个关联的多部分消息,这样可以将HTML和图片关联起来。
- 再创建一个`MIMEMultipart('alternative')`对象`msgAlternative`,它将包含纯文本和HTML版本的邮件内容,以便接收者可以选择他们支持的格式。
4. **添加纯文本和HTML内容**:
- 使用`MIMEText`分别创建纯文本和HTML版本的邮件内容,并将其附加到`msgAlternative`中。
- `MIMEText`的第三个参数指定了编码方式,这里是`utf-8`以支持中文字符。
5. **处理图片**:
- 如果邮件中需要内联显示图片,可以使用`MIMEImage`创建MIME图像对象,并将其附加到`msgRoot`中。
- 需要注意正确设置图片的`Content-ID`,以便在HTML中引用。
6. **添加附件**:
- 对于其他类型的附件,如文档或音频文件,可以使用`MIMEBase`或专门处理特定类型的子类(如`MIMEApplication`、`MIMEAudio`、`MIMEImage`、`MIMEVideo`等)来创建MIME对象,然后附加到`msgRoot`。
- 设置附件的`Content-Type`、`Content-Disposition`等属性。
7. **连接SMTP服务器并发送邮件**:
- 使用`smtplib.SMTP`建立与SMTP服务器的连接。
- 调用`login`方法进行身份验证,然后使用`sendmail`方法发送邮件。
- 最后,调用`quit`方法关闭连接。
这个示例代码提供了构建复杂邮件的基本结构,可以作为实际项目中发送带有多媒体内容邮件的起点。通过扩展此代码,可以添加错误处理、支持多个附件、动态生成HTML内容等功能。
2020-09-19 上传
2020-09-21 上传
2020-09-21 上传
点击了解资源详情
2020-09-19 上传
2020-09-17 上传
2020-09-27 上传
2020-12-20 上传
weixin_38704922
- 粉丝: 6
- 资源: 919
最新资源
- ITE Embedded Controller
- 2009年3月二级VF真题
- MAPGIS7.0二次开发教程入门篇
- Introduction to the IP Multimedia Subsystem
- MAPGIS7.0二次开发教程基础篇
- QTP自动化测试指导(中文官方文档)
- 09年3月二级C语言真题及答案
- Ubuntu linux 命令大全 Ubuntu技巧.txt
- Beej's Socket网络编程指南.pdf
- TCP/IP 标准6
- jsp第一阶段试卷,涉及JSP语法,内置对象及HTML编程
- PowerCenter服务器配置手记
- GNU make中文手册
- RFC-3261官方中文版
- VIM用户手册中文版
- FTP建站与配置完全手册详解之高级设置