邮件提供商拒绝我的服务器电子邮件

我最近更改了我的邮件提供商,现在我无法接收来自crontab的电子邮件。 在我的maillog中:

Sep 12 02:57:25 myhostname postfix/qmgr[14013]: 4BEE35D8005A: from=<[email protected]>, size=886, nrcpt=1 (queue active) Sep 12 02:57:28 myhostname postfix/smtp[50109]: 4BEE35D8005A: to=<[email protected]>, relay=mx.newmailserver.com[XXX.XXX.XX.XX]:25, delay=144207, delays=144204/0.01/1.3/1.8, dsn=4.7.1, status=deferred (host mx.newmailserver.com[XXX.XXX.XX.XX] said: 450 4.7.1 Client host rejected: cannot find your hostname, [YYY.YYY.YYY.109] (in reply to RCPT TO command)) 

在我的resolv.conf中:

 nameserver YYY.YYY.YYY.22 search com 

这个服务器指向我的一个子域。 dig myhostname.localdomain的结果:

 ;; QUESTION SECTION: ;myhostname.localdomain. IN A ;; AUTHORITY SECTION: 54766 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2016091600 1800 900 604800 86400 

我读过这个“ 客户端主机拒绝 ”的错误是与反向PTR有关,但是我不知道我在这个logging中写什么和什么。

PS:以的名字和IP号码开头的名字被改变了,但其余的都是写的(ex:nameserver,localdomain …)

通常邮件服务器检查反向DNS字段(又名PTR DNS条目)。 通常,这样做是为了validation一个电子邮件服务器,从一个域名宣布“工作”是真的。 在DNS中也有MXlogging会有所帮助。

您应该确保您的DNS值与您的服务器正在宣布的电子邮件域相匹配。

如果您要运行自己的邮件服务器,您总是需要设置一些东西。 如果您将其中任何一项closures,那么您可能会发现您的电子邮件在某个时间点被多个提供商阻止。

MXlogging

邮件交换(MX)logging是您的DNS区域文件中的一个条目,用于标识负责接收到您的域的电子邮件的服务器。

如果您没有MXlogging,则不要期望收到电子邮件。

您可以在www.mxtoolbox.com上使用MX查找查找您的MXlogging。

PTRlogging

如果您没有指针(PTR)logging,则提供商拒绝接受您发送的电子邮件的最常见原因之一是。

当你的邮件服务器发送一封邮件时,它告诉接收服务器它的主机名和IP地址是什么。

接收服务器将采取IP地址,并说什么是IP地址的主机名称。 如果DNS服务器回来并且表示电子邮件来自的IP地址的主机名与电子邮件来自的服务器所声称的主机名不同,则接收服务器可能会拒绝该电子邮件。

您可以在www.mxtoolbox.com上使用反向查找来检查您的PTRlogging。

SPFlogging

发件人策略框架(SPF)logging告诉世界什么服务器可以发送您的域名的电子邮件地址。

越来越多的公司正在对其邮件filter进行SPF检查。 如果您发送电子邮件给SPF检查打开的公司之一,并且发送您的电子邮件的服务器不包含在您的SPFlogging(或者如果您没有SPFlogging),您的电子邮件将被阻止。

您可以在www.mxtoolbox.com上用SPF Record Lookup查找您的SPFlogging。

我需要做什么来创build这些DNSlogging?

对于MX或SPFlogging,如果您的提供商允许您修改区域文件中的DNSlogging,则可以自己创buildlogging。

如果您需要创buildPTRlogging,请联系您的提供商并让他们创buildPTRlogging。 您将需要指定您用于邮件服务器的主机名和公用IP地址。

这个DNS的东西在我脑子里还不清楚,所以对于那些来这里也有同样困难的人来说:

  • 我的服务器托pipe在HostCompany (例如OVH,LeaseWeb)
  • 我的域名已在DNSCompany注册(例如,亚马逊Route 53,Verio)
  • 我的电子邮件MailCompany (例如GoDaddy,GMail)

使用cronjob从我的服务器发送电子邮件到我的电子邮件被阻止。

  • cronjob的默认发件人是“[email protected]”。
  • 使用MXToolBox与我的IP和选项“ 反向查找 ”显示“mail.mydomain.com”
  • 再次使用MXToolBox,但使用“mail.mydomain.com”和选项“ DNS查找 ”显示MailCompany的IP。

所以解决办法是:

  • 在我的HostCompany *中 ,我将PTRlogging更改为“mydomain.com”(因为我在DNSCompany有一个Alogging,指向我的IP到“mydomain.com”)
  • 在我的cronjob中设置选项MAILFROM="[email protected]"

*这个信息对我来说是最重要的,因为我认为我必须改变我的DNSCompany中的内容