我已经在我的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
有人可以提供帮助和建议,可能导致邮件功能失败的原因是什么?
先谢谢。
答案 0 :(得分:0)
通过在/etc/mail/sendmail.cf文件中添加“智能”中继主机来修复它。
以下是我采取的步骤
sudo vi /etc/mail/sendmail.cf
搜索DS并更新文件,如下所示
#"Smart" relay host (may be null)
DSsmtp.myserver.local