我使用PHP的mail()函数从我的应用程序发送电子邮件。如果我SSH到服务器,有没有办法看到已发送的电子邮件?我需要电子邮件的实际内容,而不仅仅是操作记录。这可能是一个远景,但任何帮助将不胜感激。
编辑:我应该更清楚。这适用于过去已发送的邮件。我肯定可以采取措施记录或以其他方式报告未来发送的消息,但有没有办法检索已发送的消息?答案 0 :(得分: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 ...
}
}
答案 1 :(得分:1)
邮件功能不会将邮件附加到服务器中的已发送邮箱,因此我会拒绝:因为它无法找到通过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 =
答案 2 :(得分:0)
如果您有权访问发送到的电子邮件地址,则可以使用PHP的IMAP功能。 http://www.php.net/manual/en/book.imap.php