需要使用imap php保存电子邮件副本,然后才能在Outlook Express中打开

时间:2011-09-21 07:43:52

标签: php outlook imap express eml

我有IMAP PHP脚本,它连接并从邮箱中读取电子邮件。

我看的是我想将电子邮件保存在服务器磁盘上,并将其命名为testing.eml文件。因此,稍后我会删除这些电子邮件,并可以在Outlook Express中查看。有任何想法如何实现。

谢谢,

1 个答案:

答案 0 :(得分:8)

PHP's IMAP reference;这是核心功能:

$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);

这里会发生什么:

  • 打开邮箱
  • 获取消息计数
  • 如果有的话:
    • 获取最后一个的标题
    • 获取最后一个的身体
    • 将它们一起保存在文件中
  • 关闭邮箱