簡體   English   中英

是否有可能在服務器上檢索php mail()發送的電子郵件?

[英]Is it possible to retrieve emails sent by php mail() on the server?

我正在使用PHP的mail()函數從應用程序發送電子郵件。 如果我通過SSH進入服務器,是否可以查看已發送的電子郵件? 我需要電子郵件的實際正文,而不僅僅是動作的記錄。 這可能是一個漫長的嘗試,但是任何幫助將不勝感激。

編輯:我應該更清楚。 這用於過去已發送的消息。 我絕對可以在將來采取措施記錄或報告已發送的消息,但是有沒有辦法檢索已經發送的消息?

我通常在我的郵件函數中添加一個參數,以表明我想將電子郵件記錄及其內容寫到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 ...
    }

}

郵件功能不會將郵件追加到服務器中的“已發送”郵箱,因此我拒絕:因為它無法找到通過PHP發送的電子郵件的正文。

但是,您可以創建自己的郵件功能,以將要發送的內容記錄在某處。

php.ini中也有2行配置,這使我認為您可以使用正確的配置將其附加到現有郵箱中。

;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 =

如果您有權訪問將其發送到的電子郵件地址,則可以使用PHP的IMAP函數。 http://www.php.net/manual/zh/book.imap.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM