0

私はこれについて本当に混乱しています、私はログファイルから生成された電子メールを持っています、それは本文にログファイルの内容を含む電子メールを送信します。

私はテスト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 />";

私は少し迷子になっていて、少しのガイダンスが欲しいので、新年の前に私の心を失うことはありません:)

電子メールには機密情報がたくさん含まれています。役立つ場合はすべて空白にして追加できますが、転送された電子メールは機能し、元の電子メールではなく、おそらく何らかのエンコーディングタイプの問題や明らかな問題ではないと思いますが、それを追加することが役立つ場合はお知らせください、ほとんどの電子メールは巨大であるため、すべての機密情報を編集するのに長い時間がかかりますが、要求した場合は編集できます

4

1 に答える 1

2

それは私にはゴミのようには見えません... base64でエンコードされたhtmlのように見えます...

In [4]: print base64.b64decode(corpus)
HM2 Crash Log Contents Below:<br /><br />User Email: Anon. - Not Supplied<anon@holdemmanager.com><br />Build Info: 2.0.0.7665<br />User Description: N/A<br /><br />Log File Contents: <br /><br />01:12:13.110 [Main:1 - UnityBootstrapper.Run] <br />
                             ___                                <br />
                            (   )                               <br />
                             | | .-.    ___ .-. .-.     .--.    <br />
                             | |/   \  (   )   '
于 2012-12-30T22:51:27.297 に答える