Sendmail:发件人地址被拒绝(未找到域)

Jon*_*zee 13 email email-server spam sendmail

我在我们的网络服务器上发送邮件时遇到问题。一些邮件的发送和投递没有任何问题(例如 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:    
Run Code Online (Sandbox Code Playgroud)

(顺便说一句,为什么我们没有权威的答案?这可能是问题所在吗?)

以及A记录:

Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   premiumconnect.co.za
Address: 196.28.97.202
Run Code Online (Sandbox Code Playgroud)

以下是尝试发送的特定邮件的日志:

Feb  5 12:07:52 premiumconnect sm-mta[2411]: s15C7qYp002411: from=<bookings@premiumconnect.co.za>, size=3522, class=0, nrcpts=1, msgid=<52f22998c2680@premiumconnect.co.za>, 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 <bookings@debian70.vm>: 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 <bookings@debian70.vm>: 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 <bookings@debian70.vm>: 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 <bookings@debian70.vm>: Sender address rejected: Domain not found
Run Code Online (Sandbox Code Playgroud)

我对 Sendmail(或一般的 MTA)几乎没有经验,不确定还有哪些其他信息可能有用。

小智 10

此错误专门针对“发件人”地址,而不是发送邮件服务器。因此,MX 记录不相关,您的 MTA 设置可能也不相关。

问题是您从“bookings@debian70.vm”发送电子邮件,收件人正确地确定它不可能是有效的电子邮件地址,因为 debian70.vm 域不存在。

解决方案将取决于您生成这些电子邮件的准确程度。一种选择是在生成这些邮件的任何软件中指定所需的“发件人”地址。

另一方面,您似乎没有主动指定“发件人”地址,而是让系统生成一个。在这种情况下,@ 后面的部分是根据系统认为是其邮件名称设置的。Debian 检查 '/etc/mailname' 以确定这一点,如果没有找到任何内容,则它使用其完全限定的域名,在您的情况下是 'debian70.vm' - 该名称仅对您的内部网络有效,因为它位于 .vm 顶级域中。

如果您编辑 /etc/mailname(必要时创建它)说“premiumconnect.co.za”(不带引号),它可能会解决您的问题。

如果不是,那么这可能表明 MTA 正在根据其他一些配置生成地址,因此我们需要更多地了解您的 MTA 设置。


Jon*_*zee 1

一旦其他答案指出了正确的方向,我就发现了问题。(自动生成的)sendmail.mc 有一行MASQUERADE_AS(`debian70.vm')dnl,我将其更改为MASQUERADE_AS(`premiumconnect.co.za')dnl并且电子邮件现在已正确设置。感谢您的见解。