2011-09-21 18 views
1

我有IMAP PHP腳本,它正在連接並從郵箱讀取電子郵件。需要使用imap php保存電子郵件的副本,然後才能在Outlook Express中打開

我在看的是我想將電子郵件保存在服務器磁盤上,並將其命名爲testing.eml文件。所以當我晚些時候記下這些郵件時,可以在Outlook Express中查看。任何想法如何實現。

謝謝,

+0

$ MBOX = imap_open( 「{本地主機:993/IMAP/SSL} INBOX」, 「USER_ID」, 「密碼」); $ file ='/your/file/eml/test.eml'; $ f = fopen($ file,'w +'); imap_savebody($ mbox,$ f,$ messageNumber); //這裏$ messageNumber是你想要保存的味精號碼 fclose($ f); – Dell

回答

5

請參閱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); 

這裏會發生什麼:

  • 打開郵箱
  • 獲取消息計數
  • 如果有任何:
    • 拿到最後一個
    • 的頭
    • 得到最後一個的身體
    • 一起將它們保存在一個文件
  • 關閉的郵箱
相關問題