Необходимо сохранить копию письма с помощью imap php, после чего его можно открыть в outlook express - PullRequest
2 голосов
/ 21 сентября 2011

У меня был PHP-скрипт IMAP, который соединяет и читает письма из почтового ящика.

То, что я ищу, - это то, что я хочу сохранить электронную почту на диске сервера и назвать ее чем-то вроде файла testing.eml. Поэтому, когда позже я опущу эти письма и их можно будет просмотреть в Outlook Express. Любые мысли, как это может быть достигнуто.

Спасибо

1 Ответ

8 голосов
/ 21 сентября 2011

См. Ссылка 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);

Что здесь происходит:

  • открыть почтовый ящик
  • получить количество сообщений
  • , если они есть:
    • получить заголовки последнего
    • получить тело последнего
    • сохранить их вместе в файле
  • закрытьпочтовый ящик
...