0

我正在使用 PHP 的 mail() 函数,但我无法向大多数服务器发送邮件。它毫无问题地向 GMAIL 发送邮件...可能其他服务器只是拒绝我的邮件...我设置了我需要的邮件服务器的 MX 记录...我将 PTR 记录更改为 mail.example.com ......但是仍然无法发送邮件......我该如何解决这个问题?

此外,消息的发件人显示为“www-data@localhost”

(我使用的是数字海洋,Ubuntu 12.04)

我在日志文件中遇到的错误:

我的不合格主机名(localhost)未知;睡眠重试 localhost sendmail[11620]:无法限定我自己的域名 (localhost) -- 使用短名称(我在 mail.err 中遇到的错误);并且在日志文件中显示了一些关于验证的错误,我是否需要安装关于 STARTTLS=client 的 smt

4

2 回答 2

0

我遇到了同样的问题,你可以做的一件事是:开一张带有数字海洋支持的票。默认情况下,新帐户会阻止发送电子邮件(以避免垃圾邮件发送者)。他们很快就解决了,并且有了很大的改善。

另一件事是:检查您的邮件信誉。您可以找到一些可以帮助解决此问题的网站,例如 mail-tester.com - 该网站提供了一份报告,其中包含解决问题的潜在问题。

于 2014-12-02T21:07:22.567 回答
0

当使用 mail() 函数时,你需要设置 SENDER 以及从/到等。

IE

mail($to, $subject, $body, $headers, "-f ".$webmaster);

重要的是,"-f ".$webmaster它允许您覆盖默认的“www-data@localhost”作为失败邮件的 BOUNCE 地址(信封发件人)。

大多数邮寄者会拒绝退回地址无效的电子邮件。

许多托管服务器不允许您设置 -f 值,但它会设置“真实发件人”,当然这是发送垃圾邮件的经典方式。

尝试使用 -f,如果失败,请更改您的托管公司。或者给自己一个虚拟专用服务器。

于 2014-03-12T05:55:14.967 回答