我正在尝试使用 PHP 的邮件功能发送电子邮件,但是在 mail.log 中我得到的是:
Apr 14 14:53:30 DynusT sendmail[31813]: p3EErUnA031813: from=www-data, size=259, class=0, nrcpts=1, msgid=<201104141453.p3EErUnA031813@DynusT>, relay=www-data@localhost
Apr 14 14:53:30 DynusT sm-mta[31814]: p3EErUjT031814: from=<www-data@DynusT>, size=464, class=0, nrcpts=1, msgid=<201104141453.p3EErUnA031813@DynusT>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Apr 14 14:53:30 DynusT sendmail[31813]: p3EErUnA031813: [email protected], ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30259, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p3EErUjT031814 Message accepted for delivery)
Apr 14 14:53:31 DynusT sm-mta[31816]: STARTTLS=client, relay=mailgator.email.arizona.edu., version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256
Apr 14 14:53:31 DynusT sm-mta[31816]: p3EErUjT031814: to=<[email protected]>, ctladdr=<www-data@DynusT> (33/33), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120464, relay=mailgator.email.arizona.edu. [128.196.133.156], dsn=4.1.8, stat=Deferred: 450 4.1.8 <www-data@DynusT>: Sender address rejected: Domain not found
可能是什么问题?为什么显示未找到域名?
更新:
以下是 PHP 代码:
$to = '[email protected]';
$subject = 'test';
$message = 'test';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
答案1
这意味着您指定的发件人地址未通过正确的电子邮件域验证。
看起来发件人地址可能需要在末尾添加 .com.... 完整、正确的发件人地址如下[电子邮件保护]
答案2
如前所述,DunsT
这不是一个完全合格的名称。看来邮件服务器未配置为正确修复 PHP 代码提交的名称。
您需要将 sendmail 的域配置为完全合格的域。请参阅我的文章运行和电子邮件服务器有些事情需要考虑。我看到太多来自自动化系统的电子邮件由于服务器配置不当而看起来像垃圾邮件。