私はこのコードを持っています。例はZend Reading Mailです。なぜこのメールメッセージが正しくデコードされないのですか?
$message = $mail->getMessage(1);
// output first text/plain part
$foundPart = null;
foreach (new RecursiveIteratorIterator($mail->getMessage(1)) as $part) {
try {
if (strtok($part->contentType, ';') == 'text/plain') {
$foundPart = $part;
break;
}
} catch (Zend_Mail_Exception $e) {
// ignore
}
}
if (!$foundPart) {
echo 'no plain text part found';
} else {
echo $foundPart->getContent();
}
私が得ることができるメッセージは、うまくいきます。しかし、メッセージを読み込み可能なものにデコードしようとしても動作しません。私は運がないZend_Mime、imap_mime、iconvを試しました。私が望む何
これは私がそれは "ハローheimúrを" 言うべき$foundPart->getContent();
ホール= F3のハイム=遠く
と得るものの一例である
はいくつかありますライブラリーでは実際には "ボタンを押してベーコンを受け取る"ことができました。つまり、ライブラリをPOP3電子メールボックスに指定して、電子メールを読み取り可能な形式(エンコードの問題なし)で添付ファイルに添付したいだけです。
imap_mime_header_decode()
同じデータを持つ配列を返します。
iconv_ mime_ decode()
誰もがなぜこれが起こっている任意のアイデアや、この離れて(PHP/PythonやPerlの)私は抽象的なことができますいくつかのライブラリを持っています同じ
をい
imap_qprint()はトリックでした。ありがとう:) –
それはbase64エンコードされていません。引用符で印刷できる: http://en.wikipedia.org/wiki/Quoted-printable –
Pawelは正しいです、答えは簡単ではありません。より完全な解決策については私の答えを参照してください。 – Andrew