请帮助我找出正确的程序来解决以下问题:
每天我都会收到一份以 PDF 附件形式通过电子邮件发送到我的收件箱的报告。主题相同,并且来自同一个电子邮件地址。我希望能够使用 fetchmail / getmail 等实用程序进入我的收件箱,匹配主题和发件人,然后将附件下载到特定文件。
请帮助我确定以下所需的程序:
- 连接到我的收件箱
- 扫描主题行和发件人行
- 从电子邮件下载附件
- 从收件箱中删除
- 将处理后的报告发送给新人员。
我运行 CentOS7,但任何 Linux 都可以胜任此任务。另外,我想使用命令行实用程序来完成此任务,而不是 Python 或 Ruby。
附加信息:
- 我的电子邮件存储在 LAN 上的服务器上。
- 我想我想在这里使用 IMAP(我想将电子邮件保留在服务器上并且只下载附件)
- 我不需要查看附件,只需将它们下载到目录中即可。
很抱歉用这个问题打扰大家,但我对此进行了研究,但我似乎无法将拼图的各个部分拼凑在一起。如果您需要任何其他信息,请告诉我。
答案1
我会建议杂种狗。安装 mutt、procmail 和 fetchmail。默认情况下,邮件将存储在此处$HOME/Mail/
(您的邮件目录;创建)。帮忙在 mutt 中设置 Gmail。设置获取邮件,程序邮件创建附件目录
将其添加到 $HOME/.procmailrc
ATTACH=`echo $HOME/Mail/Attachments`
:0 c
* ^To:.*[email protected]
* ^From.*[email protected]
* ^Subject.*SUBJECTNAME
| munpack -q -C $ATTACH
$ATTACH
目录将包含过滤的附件(创建)。指定SUBJECTNAME
,To
,From
。
答案2
如果您想更深入地了解 DIY,您可以通过采用相当清晰且直接的说明,在流程expect
上使用脚本做一些事情openssl
https://delog.wordpress.com/2011/05/10/access-imap-server-from-the-command-line-using-openssl/
它使用 IMAP over SSL 来访问邮箱并获取某些电子邮件的标头。您需要执行相同的操作,尽管只选择具有特殊标头的电子邮件来整理其索引,然后将其附件部分提取到文件中。
确切的脚本大约是 8 个带有相应expect
节的 IMAP 命令。您可能需要参考 RFC3501 了解这些内容,尤其是 FETCH 命令的变体。