2

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 <XXXX@XXXX.XXXX>)
    id XXXX-XXXX-67
    for XXXX.XXXX@XXXX.com; 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: <XXXX.Horde.XXXX@XXXX.XXXX.com>
From: XXXX@XXXX.XXXX
To: XXXX.XXXX@XXXX.com
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 の問題は、メール パーサーが解析できるものに制限されていることです。

では、私が説明したように電子メールを中継する最も安全な方法は何ですか?

4

1 に答える 1

2

メッセージ本文の先頭または末尾に何かを追加するだけでは機能しません。メッセージはマルチパート (添付ファイルなど) またはエンコード (base64 など) できるため、機能しません。PHP Mime Mail Parser はこれらのケースを処理できるようですが、変更されたメッセージを保存する方法がありません。

メッセージを読むだけでなく、書き込める電子メール解析ライブラリを使用することをお勧めします。たとえば、Python 標準ライブラリには、必要なことを実行できる電子メールパッケージがあります。ただし、メッセージがマルチパートかどうかを確認し、その場合はヘッダーとフッターを右側の部分 (つまり、画像や添付ファイルではなく実際のコンテンツ) に追加する必要があります。また、メッセージがプレーン テキストか HTML かを確認し、ヘッダーとフッターを適切にフォーマットする必要があります。

于 2014-09-30T11:35:34.433 に答える