我正在使用Linux计算机(Debian),并在其上安装了fetchmail和procmail。现在,它能够每隔一分钟提取发送到我的Gmail地址的邮件。但是,通过fetchmail提取的文件不是常规的html文件,而是包含带引号的可打印字符。
我的目标是能够获取电子邮件的HTML源代码,就像在Windows上打开Outlook时一样,右键单击邮件并选择“显示源代码”。
能够以编程方式执行此操作也很重要,因为我要使任务自动化。
编辑:我最初的问题缺乏准确性,所以这里是有关我的问题的更多信息。我的一位客户每天给我发送一封电子邮件,其中包含一张包含上一个工作日销售数据的表格。现在,每天,我必须将电子邮件中的数据粘贴粘贴到EXCEL文件中。但是,由于这是一项非常重复的任务,因此我想提供一个可以自动为我完成此任务的解决方案。我知道如何使用Python将数据写入EXCEL文件,并且我知道如何使用一些Python库从html文档中检索信息。
因此,我决定在Linux,fetchmail和procmail上使用crontab来执行以下操作:每隔一分钟,如果我收到了来自客户端的电子邮件,则检查我的邮箱。如果是这样,我在该文件上运行python脚本以检索信息。之后,我将该信息输入到EXCEL文件中并将其发送给我自己。
该脚本在PC上可以很好地工作,并且可以使用从Outlook获得的电子邮件的HTML源代码。但是,在我的Linux机器上,它不起作用。我从Linux机器上打开了电子邮件文件的源代码,发现HTML代码的一部分已被修改。
您似乎在这里有一些无效的假设。电子邮件不一定只有一个正文部分,并且可能不是HTML形式。
如果没有更多关于您真正想要的信息,这将是非常投机的。但是类似
:0B:
* Content-type: text/html
* Content-transfer-encoding: quoted-printable
| quoted-printable --decode >>extracted.html
会解码QP并追加到一个不断增长的HTML有效负载文件中(假设您有一个名为quoted-printable
“可以--decode
解码QP的选项”的命令)。
这样做可能没有什么用处,因为大多数HTML有效负载都位于MIME多部分容器中。上面假设消息具有单个顶级有效负载,text/html
并使用quoted-printable对其进行编码和编码,如果不正确,则将仅执行no-op。
Procmail在遍历MIME结构方面不是特别擅长,但是类似的东西应该易于编写,例如Python和标准email
库。还有一些独立工具,例如ripmime
,您可以从MIME消息中提取选定的有效内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句