通过管道将电子邮件发送到 python 脚本
Posted
技术标签:
【中文标题】通过管道将电子邮件发送到 python 脚本【英文标题】:Pipe an email to a python script 【发布时间】:2013-01-01 14:48:30 【问题描述】:我已经在我的 CPanel 中设置了将所有发送到 x@x.com 的电子邮件通过管道传输到我的 python 脚本中。我将如何将任何附件保存到服务器上的特定目录中,并可能查看电子邮件本身的主题/消息?
【问题讨论】:
关于转发电子邮件格式的文档并不完全存在。它是否给你一个多部分消息,某种字符串化的表示,服务器上文件的某个路径,或其他什么?除非@Thomas 的回答对您有用,否则当我们无法找出数据的格式时,很难告诉您如何正确处理这些数据。 【参考方案1】:您可以使用email
包来处理 MIME 格式的电子邮件。使用email.parser.FeedParser
解析消息并返回一个email.message.Message
对象:
Subject
这样的标题字段。
使用is_multipart()
检查它是否是多部分的,因此可能有附件(或者它可能只是纯文本+ html 消息)。
使用walk()
方法递归遍历所有多部分子消息。以attachment
开头的Content-Disposition
标头的子邮件是附件,您可以使用get_payload()
获取其内容。
【讨论】:
我发现 harrybailey.com/2009/02/send-or-pipe-an-email-to-a-php-script 有一条评论,似乎暗示消息是作为字符串传递的,所以我认为这应该可行。以上是关于通过管道将电子邮件发送到 python 脚本的主要内容,如果未能解决你的问题,请参考以下文章
Google Apps 脚本 - 将 gmail 中的数据提取到电子表格中