3

メールボックスからメールを接続して読み取るIMAP PHPスクリプトがありました。

私が探しているのは、電子メールをサーバーディスクに保存し、testing.eml ファイルのような名前を付けたいということです。そのため、後でこれらのメールをダウンして、Outlook Express で表示できます。これをどのように達成できるかについての考え。

ありがとう、

4

1 に答える 1

10

PHPのIMAPリファレンスを参照してください; コア機能は次のとおりです。

$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");
$message_count = imap_num_msg($mbox);
if ($message_count > 0) {
    $headers = imap_fetchheader($mbox, $message_count, FT_PREFETCHTEXT);
    $body = imap_body($mbox, $message_count);
    file_put_contents('/your/file/here.eml', $headers . "\n" . $body);
}
imap_close($mbox);

ここでは何が起きるのですか:

  • メールボックスを開く
  • メッセージ数を取得する
  • ある場合:
    • 最後のもののヘッダーを取得します
    • 最後のものの本体を取得します
    • それらを一緒にファイルに保存します
  • メールボックスを閉じる
于 2011-09-21T07:53:19.467 に答える