1

我将我的亚马逊 EC2 实例配置为使用带有以下 URL 的 sendmail 发送邮件: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sendmail.html 完成后,我添加了 php.ini 以下行:

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

我已经研究过其他解决方案,但它们没有帮助。 如何确定 PHP 和 sendmail 是否一起工作?

当我尝试从控制台发送电子邮件时,它会到达目的地。

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

但是当我尝试从代码运行它时它不起作用

<?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";
    }
?>

结果总是正确的,日志上没有任何内容。有人可以帮忙吗,我在这里做错了什么?

4

1 回答 1

1

如果您总是得到“真”的结果,那么您的电子邮件可能会被 Spamhaus 阻止。所以最好的方法是从一个 ec2 实例发送电子邮件是将中继电子邮件设置到不同的邮件服务器。您可以使用 sendgrid 每天免费发送 200 封电子邮件。否则,您可以使用 smtp 身份验证发送电子邮件。这是使用 gmail smtp 服务器的示例。

于 2013-10-14T09:58:55.150 回答