2011-02-11 49 views
0

我使用PHP的mail()函數從我的應用程序發送電子郵件。如果我通過SSH連接到服務器,是否有任何方法可以查看已發送的電子郵件?我需要電子郵件的實際內容,而不僅僅是行爲記錄。這可能是一個長期的,但任何幫助將不勝感激。是否可以檢索服務器上由php mail()發送的電子郵件?

編輯:我應該更清楚。這是針對過去已發送的郵件。我肯定會採取措施記錄或以其他方式報告未來發送的消息,但是有沒有辦法檢索已發送的消息?

+1

你可以添加你可以訪問到您的收件人在腳本 –

+4

我想這是一個測試,爲什麼你不只是發送電子郵件給自己一會兒一個電子郵件地址。 – Endophage

+1

你也可以給自己「密件抄送」。 – Shikiryu

回答

1

郵件功能不追加到郵件服務器中的一個發送郵箱,所以我說沒有:因爲它是你無法找到通過PHP發送的電子郵件的正文。

但是,您可能會創建自己的郵件功能來記錄您發送的內容的某個位置。

在php.ini中還有兩行config,這讓我認爲你可以用正確的配置將它附加到現有的郵箱。

;sendmail_path = 
; Force the addition of the specified parameters to be passed as extra parameters 
; to the sendmail binary. These parameters will always replace the value of 
; the 5th parameter to mail(), even in safe mode. 
;mail.force_extra_parameters = 
+0

謝謝。這不是我希望的答案,但它解決了這個問題。 – thegibson

+0

是的,對不起,沒有辦法檢索它們 – Nabab

2

我通常爲我的郵件函數添加一個參數,以表明我想將電子郵件的記錄和內容一起寫入HTML文件。這樣,當我測試時,我可以瀏覽到臨時文件夾並查看電子郵件的樣子。下面是一些模擬代碼:

function send_email($to=false,$message=false,$from=false,$test=false) { 

    ... do stuff to send email ... 

    if ($test == true) { 
     $out = 'Mail to: '.$to.'<br />From: '.$from.'<br />Time: '.date('m/d/Y h:i', time()).'<hr />'.$message; 

     // use a random string for a file name 
     $fname = random_string(20); 

     .. write the $out var to a file named $fname ... 
    } 

} 
相關問題