我在通过我们的网络服务器发送邮件时遇到了问题。有些邮件发送和投递没有任何问题(例如 Gmail),而其他邮件则被延迟,并显示“发件人地址被拒绝:找不到域”
我理解这是一种垃圾邮件保护措施,通过此措施可以在发送域上进行查找,但我们的域有 MX 记录:
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
premiumconnect.co.za mail exchanger = 10 za-smtp-2.mimecast.co.za.
premiumconnect.co.za mail exchanger = 10 za-smtp-1.mimecast.co.za.
Authoritative answers can be found from:
(顺便说一句,为什么我们没有权威的答案?这可能是问题所在吗?)
以及 A 记录:
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: premiumconnect.co.za
Address: 196.28.97.202
以下是尝试发送的特定邮件的日志:
Feb 5 12:07:52 premiumconnect sm-mta[2411]: s15C7qYp002411: from=<[email protected]>, size=3522, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Feb 5 12:07:52 premiumconnect sendmail[2410]: s15C7q0o002410: to=*****@tott.co.za, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=33324, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (s15C7qYp002411 Message accepted for delivery)
Feb 5 12:07:52 premiumconnect sm-mta[2413]: s15C7qYp002411: to=<*****@tott.co.za>, delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=123522, relay=antispam-vdc-01.gam.co.za. [41.0.5.44], dsn=4.1.8, stat=Deferred: 450 4.1.8 <[email protected]>: Sender address rejected: Domain not found
Feb 5 12:07:53 premiumconnect sm-mta[2413]: s15C7qYp002411: to=<*****@tott.co.za>, delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=123522, relay=mx-filter-01.gam.co.za. [41.0.5.131], dsn=4.1.8, stat=Deferred: 450 4.1.8 <[email protected]>: Sender address rejected: Domain not found
Feb 5 12:12:46 premiumconnect sm-mta[2479]: s15C7qYp002411: to=<*****@tott.co.za>, delay=00:04:54, xdelay=00:00:00, mailer=esmtp, pri=213522, relay=mx-filter-01.gam.co.za. [41.0.5.131], dsn=4.1.8, stat=Deferred: 450 4.1.8 <[email protected]>: Sender address rejected: Domain not found
Feb 5 12:12:46 premiumconnect sm-mta[2479]: s15C7qYp002411: to=<*****@tott.co.za>, delay=00:04:54, xdelay=00:00:00, mailer=esmtp, pri=213522, relay=antispam-vdc-01.gam.co.za. [41.0.5.44], dsn=4.1.8, stat=Deferred: 450 4.1.8 <[email protected]>: Sender address rejected: Domain not found
我对 Sendmail (或一般的 MTA) 经验不多,不确定还有哪些信息有用。
答案1
此错误专门针对“发件人”地址,而不是发送邮件服务器。因此,MX 记录不相关,并且您的 MTA 设置大概不相关。
问题是您正在发送电子邮件来自“[电子邮件保护]“,收件人正确地确定这不可能是一个有效的电子邮件地址,因为 debian70.vm 域不存在。
解决方案取决于您生成这些电子邮件的具体方式。一种选择是在生成这些邮件的软件中指定所需的“发件人”地址。
另一方面,您似乎并未主动指定“发件人”地址,而是让系统生成一个地址。在这种情况下,@ 后面的部分是根据系统认为的邮件名称设置的。Debian 检查“/etc/mailname”来确定这一点,如果未找到任何内容,则使用其完全限定域名,在您的情况下为“debian70.vm” - 该名称仅对您的内部网络有效,因为它位于 .vm 顶级域中。
如果您编辑 /etc/mailname(如果需要,可以创建它)以显示“premiumconnect.co.za”(不带引号),它可能会解决您的问题。
如果不是,则可能表明 MTA 正在根据其他配置生成地址,因此我们需要了解有关您的 MTA 设置的更多信息。
答案2
它应该如何解析域名 debian70.vm?在我看来你正在使用[电子邮件保护]作为发件人地址。垃圾邮件检查是通过 debian70.vm 进行的,无法解析。
答案3
在其他答案指引我正确方向后,我发现了问题所在。(自动生成的)sendmail.mc 中有一行MASQUERADE_AS(`debian70.vm')dnl
,我将其更改为MASQUERADE_AS(`premiumconnect.co.za')dnl
,现在电子邮件设置正确。感谢您的见解。