0

imap電子メールをダウンロードして同期しようとしていますが、imap_bodyを使用して特定のメッセージをダウンロードすると、文字列が切り捨てられ、期待どおりに生のメッセージ全体が取得されません。何かが足りませんか?これは私が得たコードです:

$raw_headers = imap_fetchheader($imap, $msgno);
$message = $raw_headers;
$message .= imap_body($imap, $msgno);
echo $message;

一部のメッセージの最後の部分で、添付ファイルが切り捨てられます。このように、この特定のメッセージには実際には2つの添付ファイルがありますが、1つの一部しか表示されません。誰かがこれを理解するのを手伝ってくれませんか?

HEADERS GO HERE

This is a multi-part message in MIME format.

------_=_NextPart_001_01CB2F48.59B2C620
Content-Type: multipart/alternative; boundary="----_=_NextPart_002_01CB2F48.59B2C620"

------_=_NextPart_002_01CB2F48.59B2C620
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
PLAIN CONTENT GOES HERE
------_=_NextPart_002_01CB2F48.59B2C620
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
HTML CONTENT GOES HERE

------_=_NextPart_002_01CB2F48.59B2C620--

------_=_NextPart_001_01CB2F48.59B2C620
Content-Type: application/vnd.ms-excel; name="HPHS burnett,gJul14.xls"
Content-Transfer-Encoding: base64
Content-Description: HPHS burnett,gJul14.xls
Content-Disposition: attachment; filename="HPHS burnett,gJul14.xls"

0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAACAAAAkAAAAAAAAAAA
EAAAjAAAAAEAAAD+////AAAAAJIAAACRAAAA////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////////////
4

1 に答える 1

0

imap_bodyでも同様の問題が発生したため、代わりにimap_savebodyを使用して本文をファイルに保存し、ファイルの内容をエコーし​​てみました。これは問題なく機能しました。それがあなたのために働くことを願っています。

参照:imap_savebody

于 2012-01-03T04:15:42.400 に答える