使用 Python 发送电子邮件(带附件) - 新教程
了解如何使用 Aspose API 轻松地用 Python 发送电子邮件。借助 Aspose.Email for Python via .NET 库,您可以创建、转换、发送、接收或操作电子邮件消息,包括 MSG 、PST 、EML 、EMLX 等多种文件格式。

Aspose.Email for Python via .NET 是一套功能强大的电子邮件编程 API,可用于创建、操作和转换常见的电子邮件消息格式,而无需关心底层格式的复杂实现。它是一套易于使用的类库,旨在提供卓越且稳健的电子邮件编程组件。Aspose.Email for Python 通过让您快速、轻松地在应用程序中编写复杂的消息文件处理代码,帮助您节省时间和精力。
我们的 API 可用于在各种应用程序中执行多种任务,并可与任何类型的应用程序集成。我们提供代码示例,帮助开发者快速上手。
Aspose.Email for Python via .NET 的功能:
- 转换和渲染电子邮件格式
- 发送和接收常见电子邮件格式(包括附件)
- 从 IMAP 和 POP3 邮件服务器下载邮件
- 使用 iCalendar 创建和更新任务
- 操作邮件存储文件
- 处理电子邮件附件
- 操作符合 iCalendar 标准的会议或约会
- 支持 TLS 和 SSL
- 支持 TNEF 附件
支持的文件格式:
- MSG – Microsoft Outlook 与 Exchange 用于存储邮件、约会等的格式
- PST – Outlook 个人存储文件,用于存储邮件、日历、联系人等
- OST – 注册到 Exchange Server 后在本地机器上的用户邮箱数据
- OFT – Microsoft Outlook 消息模板文件
- EML – 由 Outlook 或类似应用保存的电子邮件消息
- EMLX – Apple 开发实现的文本文件格式
- MBOX – 用于收集电子邮件消息的格式
- ICS – 用于通过电子邮件共享事件和安排任务的 iCalendar 文件格式
- VCF – 电子名片文件格式,用于存储联系人信息
- HTML – 用于网页的超文本标记语言扩展
- MHTML – 包含网页内容的归档格式
使用 Python 创建并设置电子邮件内容
创建电子邮件消息
使用 MailMessage 类,开发者可以创建新的电子邮件消息。该类代表一封电子邮件,您可以轻松为创建的邮件设置 From、To、Subject、Body 等属性。
我们将按以下步骤创建新邮件:
- 实例化 MailMessage 类
- 设置电子邮件属性
- 将邮件保存为不同格式,如 EML、MSG、MHTML
下面的代码片段演示了如何创建具有不同属性的邮件:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
eml = ae.MailMessage()
eml.subject = "New MailMessage created with Aspose.Email for Python"
eml.html_body = "<b>This line is in bold </b> while this is normal text"
eml.from_address = "from@domain.com"
eml.to.append(ae.MailAddress("to1@domain.com", "Recipient 1"))
eml.to.append(ae.MailAddress("to2@domain.com", "Recipient 2"))
eml.cc.append(ae.MailAddress("cc1@domain.com", "Recipient 3"))
eml.cc.append(ae.MailAddress("cc2@domain.com", "Recipient 4"))
#Save generated EML in different formats to disc
eml.save(dataDir + "CreateNewMailMessage_out.eml")
eml.save(dataDir + "CreateNewMailMessage_out.msg", ae.SaveOptions.default_msg_unicode)
eml.save(dataDir + "message_out.msg", ae.SaveOptions.default_msg)
eml.save(dataDir + "message_out.mhtml", ae.SaveOptions.default_mhtml)
eml.save(dataDir + "message_out.html", ae.SaveOptions.default_html)
设置邮件的 HTML 正文
使用 HtmlBody 可以指定消息正文的 HTML 内容。下面的代码片段演示了如何设置 HTML 正文:
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()
# Specify HtmlBody
eml.html_body = "<html><body>This is the HTML body</body></html>"
在邮件中设置备用文本
AlternateView 类用于在不同格式下提供邮件的副本,该类包含两个属性:
- LinkedResources:在渲染时,邮件内容中的 URL 会与 LinkedResources 集合中每个对象的 Content Link 进行匹配和解析
- BaseUri:邮件阅读器用于解析正文中相对 URL 的基准地址
下面的示例代码展示了如何添加备用文本:
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()
# Creates AlternateView to view an email message using the content specified in the //string
alternate = AlternateView.create_alternate_view_from_string("Alternate Text")
# Adding alternate text
eml.add_alternate_view(alternate)
向邮件添加附件
添加附件的步骤如下:
- 实例化 MailMessage 和 Attachment 类
- 将附件加载到 Attachment 实例中
- 将 Attachment 实例添加到 MailMessage 实例中
下面的代码片段演示了如何向邮件添加附件:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Create an instance of MailMessage class
message = MailMessage("sender@domain.com", "receiver@domain.com")
# Load an attachment
attachment = Attachment(dataDir + "1.txt");
# Add Multiple Attachment in instance of MailMessage class and Save message to disk
message.attachments.append(attachment);
message.add_attachment(Attachment(dataDir + "1.jpg"))
message.add_attachment(Attachment(dataDir + "1.doc"))
message.add_attachment(Attachment(dataDir + "1.rar"))
message.add_attachment(Attachment(dataDir + "1.pdf"))
message.save(dataDir + "AddEmailAttachments_out.msg", SaveOptions.default_msg_unicode)
使用 Python 发送电子邮件
Aspose.Email for Python 支持通过 SMTP、POP3 和 IMAP 服务器发送电子邮件。您可以使用用户名和密码或 APOP 认证轻松登录 POP3 服务器,执行查看邮箱大小、邮件数量、检索完整邮件或其头部、删除服务器邮件以及其他 POP3 基本命令等操作。
Aspose.Email for Python 还支持 IMAP 协议及其命令、认证、文件夹选择、创建、删除、查询、保存邮件、获取、删除以及标签操作等功能。
使用 SMTP 客户端发送邮件
使用 Python 发送电子邮件的步骤如下:
- 实例化 MailMessage 类
- 在 MailMessage 实例中指定发件人和收件人的电子邮件地址
- 指定 TextBody 内容
- 实例化 SmtpClient 类并发送邮件
下面的代码片段演示了如何使用 Python 发送纯文本邮件:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.body = "This is plain text body."
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
#Send using Smtp Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.send(eml)
如果您在项目中需要帮助,随时可以联系我的 付费咨询
专家。我们的团队将与您合作,找到最适合您项目的解决方案,进行相应实现并为您提供最高价值。
您可以在未来的成长与发展中依赖我们的支持。