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

问题描述:

我正忙于写入SMTP中继引擎的最后一位。基本上,人们发送邮件到这个SMTP地址,它被传送到文件,分析,然后页眉和页脚被添加到主体。我的问题是,我不确定我的邮件更改方式是否适用于所有情况。基本上,如果我有这样的:向电子邮件添加页眉和页脚最安全的方法?

Return-path: <[email protected]> 
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 <[email protected]>) 
    id XXXX-XXXX-67 
    for [email protected]; 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: <[email protected]> 
From: [email protected] 
To: [email protected] 
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来改变主体

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

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

只是预先添加或附加到消息正文的东西将无法正常工作。它不起作用,因为消息可以通过多部分(例如附件)或编码(例如base64)。 PHP Mime Mail Parser似乎能够处理这些情况,但它没有保存修改后的消息的方法。

我会推荐使用一些电子邮件解析库,它可以写邮件,而不只是阅读。例如,Python标准库有email包可以做你需要的。但是,您必须检查邮件是否为多部分,如果是这样,请将标题和页脚添加到右侧部分(即实际内容而不是图像或附件)。您还需要检查邮件是纯文本还是HTML,并且您的页眉和页脚格式是否适当。