1

Zend Framework 1.12 を使用して POP3/IMAP アカウントからメールをダウンロードしようとしましたが、問題なく動作しています。QP ヘッダー フィールドは自動的にデコードされます。ただし、ヘッダー フィールド (名前またはサブジェクトから) が次のように base64 でエンコードされている場合:

=?UTF-8?B?c3DEvsWIYcWl?=

base64 で自動的にデコードすることはありません。理由がわからない。これを「私のやり方」で修正するのは簡単ですが、私は正しくやりたいと思っています。

base64 ヘッダーを処理するための適切なアプローチを推奨できる人はいますか?

どうもありがとう。

4

2 に答える 2

1

iconv_mime_decode_headers() PHP 関数を使用できます。

   $decoded = iconv_mime_decode_headers('Subject: '.$subject, 0, "UTF-8");
   var_dump(decoded['Subject']);

改行または "\n" で区切ることにより、複数のヘッダー パラメーターを 1 つの関数に渡すことができることに注意してください。例えば

   $headers = "Subject: {$subject}\nFrom: {$from}";
   $decoded = iconv_mime_decode_headers($headers, 0, "UTF-8");

この場合、デコードされたデータを含むキー "Subject" と "From" を持つ配列を取得します。

于 2013-03-26T08:58:08.157 に答える
0

mail mime parsersメールヘッダーをデコードする責任があります。base64 decodersこれらの文字列をデコードするために使用できるオープンソースがネット上にあります。

于 2013-03-15T05:50:54.717 に答える