2013-04-26 73 views
0

我使用AWS EC2服務器(Ubuntu的實例),我想通過PHP代碼發送電子郵件發送電子郵件使用PHP與AWS EC2

我安裝sendmail和修改.mc文件作爲打擊


FEATURE(`no_default_msa')dnl 
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl 
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl 
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl 
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl 

我刪除地址並重新啓動sendmail服務

,但是,我不能發送電子郵件。

我測試上的控制檯(sendmail的[email protected] [email protected]

和PHP文件如php sendmailtest.php sendmail的。

他們都工作!

但是,當我用瀏覽器嘗試時,它仍然不起作用。 (如http://test.com/sendmail.php

這裏是我的Apache日誌

sh: 1: sendmail: not found 
[Thu Apr 25 03:40:53 2013] [error] [client xxx.xxx.xxx.xxx] [email protected] 
[Thu Apr 25 03:40:54 2013] [error] [client xxx.xxx.xxx.xxx] File does not exist: /var/www/favicon.ico 

更新

這裏是我的測試代碼來發送電子郵件

$mailto="[email protected]"; 
$subject="mail test"; 
$content="test"; 
$result=mail($mailto, $subject, $content); 
if($result){ 
    echo "mail success"; 
}else { 
    error_log($mailto, 0); 
    echo "mail fail"; 
} 

由於提前,


解決了這個問題。

我應該輸入/ usr/sbin目錄/ sendmail的

我不知道爲什麼,甚至存在sendmail的另一個位置不起作用。

+0

發佈您的PHP代碼發送郵件。 – Jordan 2013-04-26 15:31:59

回答

0

使用發送郵件的絕對路徑,當從腳本運行時,通常不會設置PATH。

+0

從命令行鍵入:「哪個sendmail」使用該命令的完整輸出。 – Tony 2013-04-26 18:12:33

+0

但是當我通過sendmail發送郵件時,它在我命令 – Joseph 2013-04-27 04:07:38

+0

處工作正常我還將sendmail pah更改爲sendmail_path:/ usr/share/sendmail/sendmail -t -i但仍然無法正常工作 – Joseph 2013-04-28 09:38:43