我正在尝试使用PHP的邮件function来发送电子邮件,但是在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
可能是什么问题? 为什么说没有find域?
更新:
这里是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);
这是说你指定的发件人地址不是validation到一个正确的电子邮件域。
看起来像从地址可能需要一个.com结束….一个完整的,正确的发件人地址是像[email protected]
正如已经提到的, DunsT不是完全合格的名字。 看来邮件服务器没有configuration正确修正你的PHP代码提交的名称。
您需要将sendmail域名configuration为完全限定域名。 请参阅我的关于运行和电子邮件服务器的文章,了解一些要考虑的事项 我发现很多自动化系统的电子邮件都是由于服务器configuration不当而看起来像垃圾邮件的。