0

PHP を使用して単一のメールボックスから電子メールを取得し、データベースに保存することができます。メッセージをデータベースに「復元」するオプションが必要ですが。

私の同僚imap_append()は、PHP に付属している関数を見てみるべきだと言いました。ただし、使用できる例はごくわずかです。

メッセージが正しく「復元」されるようにするために、どのフィールドを挿入する必要があるのか​​ わかりません。データベース内の電子メールのすべてのフィールドが好きです (ただし、必要に応じてフィールドを追加できます)。

私の質問; すべての電子メールにどのフィールドを含める必要がありますか?また、これを行う方法の例を教えてくれる人はいますか (imap_append()または ...?)

4

2 に答える 2

0

IMAP RFCAPPEND コマンドについて読んでください。それを引用:

6.3.11. APPEND Command

   Arguments:  mailbox name
               OPTIONAL flag parenthesized list
               OPTIONAL date/time string
               message literal

オプションの引数について心配する必要はありません。考慮すべき重要事項は、メールボックス名 (メッセージのアップロード先フォルダー) とメッセージ リテラル (メッセージ自体) です。メッセージ自体は、すべてのヘッダー フィールドを含む MIME データであるため、それらについて心配する必要はありません。メッセージ全体を復元できるように、メッセージ データ全体がデータベースに保存されていることを確認するだけで済みます。

PHP で IMAP を使用したことはありませんが、あなたが話していたimap_append()コマンドを見たことがあります。これには、今説明した内容に対応する引数があります - それらは $mailbox と $message です。$mailbox にフォルダの名前 (例: "INBOX") を入力すると、復元するメッセージ データが $message に格納されます。

于 2013-03-05T17:39:52.310 に答える
0

INTERNALDATEAppend は、 と の2 つのパラメータのみを受け取りますFLAGS。それ以外はすべて、メッセージ自体に含まれています。元のメッセージから日付とフラグを取得できます。または、日付ヘッダーを読み取って内部日付として使用することで、偽造することもできます。

于 2013-03-05T14:34:05.350 に答える