多域名服务器,sendmail 工作不稳定

多域名服务器,sendmail 工作不稳定

影片梗概:

我只管理几个网站灶神星,每个网站都有自己的域名,到目前为止运行良好。服务器位于利诺德

我已经实现了一个非常简单的联系表在使用php的其中一个站点中mail()

$success = mail($EmailTo, $Subject, $Body, $headers);

对于 $headers,我经过反复尝试,使其变得更简单:$headers = 'From: '. $EmailFrom;

问题:

现在,我想发送的电子邮件当然是没有达到信息框或我的个人 Gmail 信箱。

测试:

  1. 所以我尝试通过SSH。首先,我配置了邮件日志,这样我就可以看到上面发布的那行,我通过 确认phpinfo()PHP 使用的是预期的 sendmail bin ( /usr/sbin/sendmail)。所以看起来这不是 PHP/php.ini的错。

  2. 然后我在 serverfault.com 上阅读并尝试以下操作简短的 sendmail 脚本(因为事实证明我不知道如何仅使用 CLI 发送电子邮件):

这次测试似乎进展顺利(有大量数据),并且它实际上正在达到我的个人 Gmail 信箱(当然是垃圾邮件文件夹):

#!/bin/sh
/usr/sbin/sendmail -i -v -- [email protected]  <<
subject: testeando

asastest
END

在此处输入图片描述

但然后我运行相同的脚本,只是更改为[电子邮件保护]除了没有达到目的之外,脚本还说明了这一点:

LOG: MAIN
  ** [email protected]: Unrouteable address
LOG: MAIN
  <= <> R=1XnGAV-0004VJ-UP U=Debian-exim P=local S=1113
LOG: MAIN
  Completed
delivering 1XnGAV-0004VN-VO
LOG: MAIN
  ** root@linodecentral: Unrouteable address
LOG: MAIN
  Frozen (delivery error message)

现在我陷入了困境。我不知道 gmail 是如何“可路由”的,但完美运行的 google-MX 域名却不行。另外,我不知道我的主机名 (linodecentral) 是否与此有关?

总结结果:

  • 形式可以达到两者都不盒子。
  • sendmail bash 脚本只能到达我的个人邮箱(及其电子邮件很烂。

编辑:

这是尝试 info@goodsite 时 exim4 的主日志显示的内容:

2014-11-08 23:23:20 1XnEPg-0001bg-Hb <= pvc@LinodeCentral U=pvc P=local S=495
2014-11-08 23:23:20 1XnEPg-0001bg-Hb ** [email protected]: Unrouteable address
2014-11-08 23:23:20 1XnEPg-0001bk-IY <= <> R=1XnEPg-0001bg-Hb U=Debian-exim P=local S=1287
2014-11-08 23:23:20 1XnEPg-0001bg-Hb Completed
2014-11-08 23:23:20 1XnEPg-0001bk-IY ** pvc@linodecentral: Unrouteable address
2014-11-08 23:23:20 1XnEPg-0001bk-IY Frozen (delivery error message)

当我尝试使用我的个人收件箱(正确发送到)时出现以下情况:

2014-11-09 01:02:38 1XnFxm-00047Z-3L <= root@LinodeCentral U=root P=local S=320
2014-11-09 01:02:38 1XnFxm-00047Z-3L => [email protected] R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2a00:1450:400c:c01::1b] X=TLS1.2:RSA_ARCFOUR_SHA1:128 C="250 2.0.0 OK 1415491358 ey11si10238321wid.16 - gsmtp"
2014-11-09 01:02:38 1XnFxm-00047Z-3L Completed

我不知道为什么它使用发送到我的个人收件箱,并将 pvc(网站文件夹的用户所有者等)发送到其他地址。

PS:显然“goodiste.org”只是真实域名的占位符。

答案1

尝试检查 linode 主机是否看到目标域的正确 MX 记录...

 dig MX good domain.org

这应该会显示 Google 的服务器。如果没有,则表示您遇到了较低级别的问题。

发送地址的域部分通常来自本地计算机的 /etc/hosts 中的内容。至少您希望这是 fqdn。您可以在 MTA 的配置中覆盖它。

Exim 日志应该会向您显示为什么传送到本地地址失败。

相关内容