私はこれについて本当に混乱しています、私はログファイルから生成された電子メールを持っています、それは本文にログファイルの内容を含む電子メールを送信します。
私はテストGmailアカウントで一般的にimapのものとphpに慣れていないので、いくつかのテストを行いました。次のコードを使用すると、何百もの電子メールの本文全体を問題なく見ることができました。
$mailbox = "xxx@gmail.com";
$mailboxPassword = "xxxx";
$mailbox = imap_open("{imap.gmail.com:993/imap/ssl}INBOX", $mailbox, $mailboxPassword);
$mail = imap_search($mailbox,'ALL');
if(empty($mail)) die('No unread emails found!');
foreach ($mail as $key => $val)
{
// Retrieving message headers
$headers = imap_headerinfo($mailbox, $val);
// Retrieving subject
$subject = $headers->subject;
ps私は主題をエコーすることができ、すべてがうまく返されます
mb_internal_encoding("UTF-8");
$subject = mb_decode_mimeheader(str_replace('_', ' ', $subject));
$body_pre = imap_fetchbody($mailbox, $val, 1);
$body = $body_pre ? imap_qprint(imap_fetchbody($mailbox, $val, 2)) : imap_qprint(imap_fetchbody($mailbox, $val, 1));
if (empty($body))
{
$body = $body_pre;
}
今、コードはおそらく厄介です、私は基本的に誰か他の人のコードを引き継いでそれを私のために働かせました、私はそれがうまくいくと付け加えたら、体のいくつかが空に戻っていたので空の場合を追加しました。私はそれがロシア語/フランス語のエンコーディングによるものであることを知っているので、情報はうまく表示されますが、ロシア語/フランス語の文字は正しく表示されませんが、少なくとも空ではありません
とにかく、基本的に私がしたことは、元の電子メールを受け取り、それをこのテストアカウントに転送し、そのコードを実行し、$ bodyをエコーアウトすると、すべての電子メール本文を見ることができました。
今、私がまったく同じ電子メールを受け取ったときに問題が発生しました。基本的に電子メールとして送信されたtxtファイルからのすべての同じ電子メールログがありますが、基本的に違いだけで受信トレイで同じクエリを実行したとき、それらはFWを持っています:件名によくこれは、本体が次のように出力したものです。
SE0yIENyYXNoIExvZyBDb250ZW50cyBCZWxvdzo8YnIgLz48YnIgLz5Vc2VyIEVtYWlsOiBBbm9u LiAtIE5vdCBTdXBwbGllZDxhbm9uQGhvbGRlbW1hbmFnZXIuY29tPjxiciAvPkJ1aWxkIEluZm86 IDIuMC4wLjc2NjU8YnIgLz5Vc2VyIERlc2NyaXB0aW9uOiBOL0E8YnIgLz48YnIgLz5Mb2cgRmls ZSBDb250ZW50czogPGJyIC8 + PGJyIC8 + MDE6MTI6MTMuMTEwIFtNYWluOjEgLSBVbml0eUJvb3Rz dHJhcHBlci5SdW5dIDxiciAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX18gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPg0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICggICApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPg0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IHwgLi0uICAgIF9fXyAuLS4gLi0uICAgICAuLS0uICAg IDxiciAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHwvICAgXCAgKCAgICkgICAn
そしてbody_preは空としてエコーします
私もこれに変更して、これらすべてをエコーしてみましたが、すべて空白で表示されていました
$body_pre0 = imap_fetchbody($mailbox, $val);
$body_pre = imap_fetchbody($mailbox, $val, 1);
$body_pre1 = imap_fetchbody($mailbox, $val, 1.1);
$body_pre2 = imap_fetchbody($mailbox, $val, 1.2);
$body_pre3 = imap_fetchbody($mailbox, $val, 2);
$body_pre4 = imap_fetchbody($mailbox, $val, 2.0);
$body_pre5 = imap_fetchbody($mailbox, $val, 2.1);
$body_pre6 = imap_fetchbody($mailbox, $val, 2.2);
$body_pre7 = imap_fetchbody($mailbox, $val, 2.3);
echo "Body 0: <br /><br /><br />" . $body_pre0 . "<br />";
echo "Body 1: <br /><br /><br />" . $body_pre . "<br />";
echo "Body 1.1: <br /><br /><br />" . $body_pre1 . "<br />";
echo "Body 1.2: <br /><br /><br />" . $body_pre2 . "<br />";
echo "Body 2: <br /><br /><br />" . $body_pre3 . "<br />";
echo "Body 2.0: <br /><br /><br />" . $body_pre4 . "<br />";
echo "Body 2.1: <br /><br /><br />" . $body_pre5 . "<br />";
echo "Body 2.2: <br /><br /><br />" . $body_pre6 . "<br />";
echo "Body 2.3: <br /><br /><br />" . $body_pre7 . "<br />";
私は少し迷子になっていて、少しのガイダンスが欲しいので、新年の前に私の心を失うことはありません:)
電子メールには機密情報がたくさん含まれています。役立つ場合はすべて空白にして追加できますが、転送された電子メールは機能し、元の電子メールではなく、おそらく何らかのエンコーディングタイプの問題や明らかな問題ではないと思いますが、それを追加することが役立つ場合はお知らせください、ほとんどの電子メールは巨大であるため、すべての機密情報を編集するのに長い時間がかかりますが、要求した場合は編集できます