通过procmail将邮件传递到解析正文并保存为文本文件的python脚本

2 投票
1 回答
4530 浏览
提问于 2025-04-17 14:37

我正在制作一个数据记录器,花了很多时间想把它做好,但每个论坛给我的建议都不一样。我觉得花一个周末在网上查资料,还是值得在这里提问的。

我用的是Ubuntu 12.10系统,使用fetchmail来接收邮件,然后把邮件发送给procmail。接着,procmail又把邮件内容传给一个Python脚本,这个脚本应该负责解析邮件内容,并把它保存到一个文本文件里。问题是我不知道怎么写这个Python脚本,网上找到的例子对我来说有点复杂。我希望有人能花点时间帮我理解怎么实现这个功能。

1 个回答

7

在.promailrc文件中,可以使用以下方法将所有邮件传送到Python脚本:

:0Wc:
| /usr/bin/python [PATH TO PYTHON SCRIPT]

在Python脚本中,你可以用以下方式接收进来的邮件:

import sys
import email

full_msg = sys.stdin.readlines()

msg = email.message_from_string(full_msg.join());

to = msg['to']
from = msg['from']
subject = msg['subject']
body = msg['body']

撰写回答