私はメールのメール本文をexctractに次のコードを使用しています。imap_fetchbodyを使用しているときに謎めいたメール本文
$imap = imap_open($mailbox,$user,$password);
$mails = imap_search($imap,'UNSEEN');
foreach($mails as $mail)
{
$message = trim(utf8_encode(quoted_printable_decode(imap_fetchbody($imap,$mail,"1"))));
if(strpos($message,"<html") !== false)
{
$mail_body = fopen($dir."mail.html","w");
}
else
{
$mail_body = fopen($dir."mail.txt","w");
}
}
これは問題なく動作していますが、これはすべてのテストで機能します。 メールが転送される場合も、html-メール、プレーンテキストメール。
他のソースからは、(imap_fetchbodyを使用した後の)メッセージは、いくつかの暗号化された文字列のように見えます。このように:
dGVpZW4gaW0gUERGLUZvcm1hdDoNClJla2xhbWF0aW9uc2luZm9ybWF0aW9uOiAyMTMzNjc0MSBS SV8yMTMzNjc0MS5wZGYNCg0KTWl0IGZyZXVuZGxpY2hlbiBHcsO8w59lbg0KSWhyIG5vYmlsaWEg VGVhbQ0KX19fDQoNCm5vYmlsaWEtV2Vya2UgSi4gU3RpY2tsaW5nIEdtYkggJiBDby4gS0cgfCBX YWxkc3RyLiA1My01NyB8IDMzNDE1IFZlcmwNCg0KRGllIEdlc2VsbHNjaGFmdCBpc3QgZWluZSBL
私はすでに「1.1」や「1.2」のようにimap_fetchbodyためのいくつかの他の引数を使用しようとしましたが、私は、メッセージが空であることを行うとき。
この影響がなぜ発生するのですか?
これらのメールが最初に実際に暗号化されていないことを確認しましたか? – Sylence
はい、暗号化されていません。問題は、メールと転送されたメールのエンコーディングでした。 –