无法从AWS linux机器发送php邮件

时间:2017-11-08 02:24:21

标签: php amazon-web-services email

我已经在我的AWS linux机器上编写了php中的代码,但它无法发送电子邮件

    $to = "test@abc.com.au"; // E-mail address of reciever
    $subject = "Test Subject"; // Subject of email
    $body = "Hi All, <br><br> This is the test email <br><br>Thank You!";
    $header = 'From: test@abc.com.au';

    if(mail($to, $subject, $body, $header)) {
            echo "Email sent successfully!";
    } else {
            echo 'Email send Failed';
    }

上面发送的电子邮件总是失败。以下是我设置的php.ini

[mail function]
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t -i
SMTP = "my smtp server address"
smtp_port = 25

有趣的是,如果我使用以下命令发送电子邮件,则会成功收到

echo "hello" |sendmail -s -v "test" test@abc.com.au 

有人可以提供帮助和建议,可能导致邮件功能失败的原因是什么?

先谢谢。

1 个答案:

答案 0 :(得分:0)

通过在/etc/mail/sendmail.cf文件中添加“智能”中继主机来修复它。

以下是我采取的步骤

sudo vi /etc/mail/sendmail.cf       

搜索DS并更新文件,如下所示

#"Smart" relay host (may be null) 
DSsmtp.myserver.local