2013-10-13 79 views
1

我配置我的Amazon EC2實例與使用下列URL的sendmail發送郵件: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sendmail.html 結束後,我加入了php.ini中的以下行:無法發送郵件EC2-PHP和sendmail

sendmail_path =/usr/sbin/sendmail -t -i

我已經研究過其他解決方案,但他們沒有幫助。 how to find out if PHP and sendmail are working together?

當我嘗試從控制檯發送電子郵件到達目的地。

須藤/ usr/sbin目錄/ sendmail的[email protected] [email protected]

但是當我試圖從代碼中運行它,它不工作

<?php 
    $to = "[email protected]"; 
    $subject = "Test mail"; 
    $message = "Hello! This is a simple email message."; 
    $from ="[email protected]"; 
    $headers = "From:" . $from; 
    $result = mail($to,$subject,$message,$headers); 

    if ($result) 
    { 
     echo "mail sent"; 
    } 
    else 
    { 
     echo "error"; 
    } 
?> 

結果總是如此,日誌中沒有任何東西。 有人可以幫助,我在這裏做錯了什麼?

+0

您是否想發送消息到'gmail.com.com'? – datasage

+0

對不起,我編輯的問題,來源不包括.com.com –

+0

結果返回true或false?你在/ var/log/maillog中看到與消息有關的任何東西嗎?如果問題與發送或交付有關,則需要縮小範圍。由於亞馬遜IP位於垃圾郵件列表中,因此直接從EC2發送的郵件通常會被收件人過濾。 – datasage

回答

1

如果您總是收到「true」結果,那麼您的郵件可能會被Spamhaus阻止。所以最好的方法是從ec2實例發送電子郵件是將中繼電子郵件設置到不同的郵件服務器。 Here is an example to configure with sendgrid。您可以使用sendgrid免費每天發送200封電子郵件。否則,您可以使用smtp身份驗證發送電子郵件。 Here is an example using gmail smtp server.

+0

感謝它可能沒有解決我的問題,但我用sendgrid,它現在與web API –