douhui3760 2013-10-13 12:42
浏览 133
已采纳

使用SendMail发送邮件EC2-PHP失败

I configured my amazon EC2 instance to send mails with sendmail with the following url: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sendmail.html after finished i added the php.ini the following line:

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

I already looked into other solutions, but they didn't help. how to find out if PHP and sendmail are working together?

when i try to send email from console it reach the destination.

sudo /usr/sbin/sendmail -f x@y.com x@gmail.com

but when i tried to run it from code it doesn't work

<?php
    $to = "X@y.com";
    $subject = "Test mail";
    $message = "Hello! This is a simple email message.";
    $from ="w@z.com";
    $headers = "From:" . $from;
    $result = mail($to,$subject,$message,$headers);

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

The result is always true, there is nothing on the logs. Can someone help, what am i doing wrong here??

  • 写回答

1条回答 默认 最新

  • dpjw67160 2013-10-14 09:58
    关注

    If you are getting result "true" always then your emails might be blocked by Spamhaus. So the best way is to send email from an ec2 instances is to set relay email to different mail server. You can send 200 emails per day for free using sendgrid. Otherwise you can send email using smtp authentication. Here is an example using gmail smtp server.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?