PayPalから寄付された電子メールを私のE-Mailアドレスに自動処理します。 (cronjobとPHPスクリプトを介して) これまでは、とても良い。私はテスト寄付を行い、さらにテストするために、このメールをOutlookでINBOXに何度かコピーします。 コピーされたメールはすべて正常に動作しました(メール本文の文字列をチェックしています) 今、別のテスト寄付を行いましたが、それは機能しませんでした。 E-Mail-Bodyが正しく解析されていないことが判明しました。 私はすでにDelphiでArarat Synapseを試しましたが、同じ結果が得られました。Paypalで奇妙な電子メール解析エラーが発生しました。
Gutenタグピーター・マイヤー:コピーされたメールから
正しいEメール本文は、次のようになります!ディーゼルEメールは、ピーター・マイヤー([email protected])から€1.50ユーロ以上お支払いいただきます。オンラインでの取引をオンラインでお楽しみください。 Spendendetails Gesamtbetrag:€1,50 EUR
しかし、ペイパルから元のメールが
PGh0bWwgPgogICA8aGVhZD4KICAgCQk8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUi IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI + CiAgIAkJPG1ldGEgbmFtZT0i dmlld3BvcnQiIGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9MS4wLG1pbmltdW0tc2NhbGU9MS4w LG1heGltdW0tc2NhbGU9MS4wLHdpZHRoPWRldmljZS13aWR0aCxoZWlnaHQ9ZGV2aWNlLWhl aWdodCx0YXJnZXQtZGVuc2l0eWRwaT1kZXZpY2UtZHBpLHVzZX ...ように
そして、copiedmailとして解析されます.h tmlは3KB、元は28KBです。
マイコード:NineBerry、 へ
$connection = imap_open("{imap.gmx.net:993/imap/ssl}", "[email protected]", "password"); //connect
$count = imap_num_msg($connection); //get E-Mail count in INBOX
for($msgno = 1; $msgno <= $count; $msgno++) //walk through INBOX mails
{
$headers = imap_headerinfo($connection, $msgno); //read E-Mail header
$subject = $headers->subject; //read subject
//decode subject
$elements = imap_mime_header_decode($subject);
$decodedsubject="";
for ($i=0; $i<count($elements); $i++)
{
$decodedsubject = $decodedsubject.$elements[$i]->text;
}
$body = imap_fetchbody ($connection, $msgno, 1); //read body
echo $body; <--- Here I get long cryptic Text in original Mail
}
可能な複製を働いた(http://stackoverflow.com/questions/15539902/php -imap-decoding-messages) – NineBerry
特定のPayPalメールの処理に関する問題に加えて、PayPalにはいくつかの異なる形式の確認メールがあり、定期的に新しい画像やレイアウトなどが変更されることに注意してください。 「完全に」動作させるには、フォーマットの変更をキャッチして、新しい/更新された処理スクリプトのためにそれらのメッセージを保存するためのエラーチェックを含める必要があります。 – manassehkatz
@NineBerry投稿からの解決策は私にこれを与えます: 未定義変数:行34のC:\ xampp \ htdocs \ test \ stackoverflow.phpの部分 注意:Cで非オブジェクトのプロパティを取得しようとしています: \ xampp \ htdocs \ test \ stackoverflow.php on line 34 注意:未定義の変数:C:\ xampp \ htdocs \ test \ stackoverflow.phpの行37にあります。 – computerjulian