mime-mail - 向电子邮件添加页眉和页脚的最安全方法?

标签 mime-mail

我正忙着编写 SMTP 中继引擎的最后一部分。基本上,人们将邮件发送到此 SMTP 地址,邮件通过管道传输到文件并进行分析,然后将页眉和页脚添加到正文中。我的问题是,我不确定我更改邮件的方式是否适用于所有情况。基本上,如果我有这个:

Return-path: <XXXX@YYYY>
Envelope-to: system-filter
Delivery-date: Thu, 25 Sep 2014 12:43:53 +0200
Received: from localhost ([127.0.0.1]:XXXX helo=XXXX.XXXX.com)
    by XXXX.XXXX.com with XXXX(XXXX-XXXX-XXXX-XXXX:XXXX)
    (Exim XXXX)
    (envelope-from <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b0e8e8e8e8f0e8e8e8e89ee8e8e8e8" rel="noreferrer noopener nofollow">[email protected]</a>>)
    id XXXX-XXXX-67
    for <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="83dbdbdbdbaddbdbdbdbc3dbdbdbdbade0ecee" rel="noreferrer noopener nofollow">[email protected]</a>; Thu, 25 Sep 2014 12:43:52 +0200
Received: from XXXX.XXXX.XXXX.XXXX ([197.87.204.210]) by XXXX.XXXX.com
 (Horde Framework) with HTTP; Thu, 25 Sep 2014 10:43:50 +0000
Date: Thu, 25 Sep 2014 10:43:50 +0000
Message-ID: <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cb93939393e583a4b9afaee5939393938b93939393e593939393e5a8a4a6" rel="noreferrer noopener nofollow">[email protected]</a>>
From: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4d151515150d151515156315151515" rel="noreferrer noopener nofollow">[email protected]</a>
To: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="50080808087e0808080810080808087e333f3d" rel="noreferrer noopener nofollow">[email protected]</a>
Subject: This is the subject
User-Agent: Internet Messaging Program (IMP) H5 (XXXX)
Content-Type: text/plain; charset=UTF-8; format=flowed; DelSp=Yes
MIME-Version: 1.0
Content-Disposition: inline
X-OutGoing-Spam-Status: No, score=-2.9

And this is the message.

这个想法是: 1. 只需找到第一个空行并将页眉放在那里,然后将页脚附加到末尾。 2.使用PHP Mime Mail Parser改变 body

1 的问题是我认为可能会出现不遵循正常布局的不同格式。 2 的问题是,我仅限于邮件解析器可以解析的任何内容。

那么,正如我所描述的,转发电子邮件的最安全方法是什么?

最佳答案

仅在消息正文前面或附加一些内容是行不通的。它不起作用,因为消息可以由多部分(例如带有附件)或编码(例如base64)组成。 PHP Mime Mail Parser 似乎能够处理这些情况,但它没有保存修改后的消息的方法。

我建议使用一些电子邮件解析库,它可以写入消息,而不仅仅是读取。例如,Python标准库有email包可以满足您的需求。但是,您必须检查消息是否是多部分的,如果是,请将页眉和页脚添加到右侧部分(即实际内容而不是图像或附件)。您还需要检查消息是纯文本还是 HTML,并确保页眉和页脚的格式正确。

关于mime-mail - 向电子邮件添加页眉和页脚的最安全方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26073143/

相关文章:

python - 从 Protonmail 帐户、SMTP 库使用 Python 发送电子邮件

email - GMail 显示纯文本电子邮件而不是 HTML

c# - 解码 8 位邮件消息 : Content-Transfer-Encoding: 8bit

drupal 7 中使用 mime 邮件模块发送电子邮件

grails - 无法解析 Mime 消息

c# - 如何在 C# 中从 Mail Raw header 获取 Message 对象

node.js - MIME 电子邮件多部分解析器