【问题标题】:how to create a mbox email file using python如何使用 python 创建 mbox 电子邮件文件
【发布时间】:2013-04-15 03:16:44
【问题描述】:

我有一个包含电子邮件地址和其他数据的 mysql 数据库。我需要创建可以发送到数据库中地址的特定电子邮件。电子邮件的类型将根据 db 上的字段而有所不同。每封电子邮件都会有一个 pdf 附件,该附件取自 db 中的路径字段。由于电子邮件需要从另一台计算机发送,我考虑创建一个 mbox 文件,其中包含作为 base64 ASCII 文本的消息和附件,然后可以在诸如进化之类的电子邮件程序中打开并从另一台计算机发送。我需要获得有关如何使用 python 和 mysql 完成此操作的建议和可能的示例。如何将电子邮件地址、消息正文和 pdf 转换为 ASCII 文本 mbox 文件的示例将是理想的。谢谢。

【问题讨论】:

  • 快速提示:查看email.generator

标签: python email base64 email-attachments mbox


【解决方案1】:

要处理 mbox 文件,您可以使用 mailbox 模块:http://docs.python.org/2/library/mailbox.html 但您的问题不够精确,您似乎只需要发送电子邮件 - 为此,不需要创建 mbox 文件,并且你的生活更轻松,你可以使用类似的东西:http://www.mailgun.com/

【讨论】:

  • 我需要能够创建一个可以从另一台计算机发送的电子邮件文件,因此在这个阶段不需要发送。
  • 为什么不使用消息队列来进行进程间通信并为另一台服务器上的电子邮件发件人提供要发送的消息?或者,将生成的电子邮件内容存储在数据库中,然后在另一台服务器上获取?
  • 感谢您的建议。非常感谢我是这个话题的新手。我还不知道将发送这些电子邮件的服务器或电脑。我试图让另一个人发送我生成的电子邮件尽可能简单。我也想让他们远离数据,因为他们在一些公司防火墙后面,并且安排访问等需要得到批准等等。
【解决方案2】:

要创建和管理.mbox文件,可以尝试使用第三方库Aspose.Email for Python

看下面的例子。这种方法可以帮助您创建 .mbox 文件。

# Initialize MboxStorageWriter and pass the above stream to it
writer = MboxrdStorageWriter(dataDir + "ExampleMBox_out.mbox", False)

# Prepare a new message using the MailMessage class
message = MailMessage("from@domain.com", "to@domain.com", "Eml generated for Mbox", "added from Aspose.Email for Python")
message.is_draft = False

# Add this message to storage
writer.write_message(message)

# Close all related streams
writer.dispose();

要查看更多示例,您可以转到official repository

我是 Aspose 的开发人员宣传员。

【讨论】:

    猜你喜欢
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 2012-02-15
    • 1970-01-01
    • 2022-09-25
    • 1970-01-01
    • 2012-01-04
    相关资源
    最近更新 更多