我在一家地方政府机构工作,我们管理自己的邮件列表,向公民推送新闻和信息。我尝试主动删除不再存在的电子邮件地址并处理任何垃圾邮件黑名单。然而,有一份未送达报告让我感到困惑。以下是屏幕截图:
模糊区域表示我们的电子邮件服务器。
如您所见,其中没有任何电子邮件地址可以告诉我问题所在。每次我们发布另一份新闻稿时,我都会收到几个这样的邮件,除了日期、主题索引和消息 ID 之外,其他一切都一样。我无法在电子邮件服务器的日志中找到任何这些信息。我如何找出与此相关的电子邮件地址,以便将其删除?
具体来说,这些电子邮件是使用另一个电子邮件服务器软件在我们的网络服务器上生成的。我们的主要电子邮件服务器正在运行 Exchange。我已经与我们的电子邮件服务器管理员讨论过这个问题,但他们在日志中没有看到任何内容。
更新:这是我遇到的另一种相同问题。我明白错误的含义,但我怎么知道该域是什么?
答案1
维护大型邮件列表需要进行大量的侦查工作。这在很大程度上是由 MS Exchange 和其他邮件服务器造成的,它们认为不使用 5xx SMTP 代码来指示未知用户是个好主意,而是接受所有人的电子邮件,然后生成新电子邮件以通知发件人某些用户不存在。为了让生活更有趣,这些“回复”的格式可以配置,因此您不能依赖标准格式的响应。
当这些邮件返回到邮件列表时,某些列表软件无法识别可爱的自定义“没有此用户”电子邮件,并生成一封新的“我不知道您在说什么”电子邮件,该电子邮件返回到发送原始“没有此用户”电子邮件的系统帐户。
这些邮件可以反复发送一段时间,直到最后,n
一封针对没有此类用户的自动电子邮件(对于大型邮件)的自动回复(对自动回复n
)到达人类手中,然后人类必须开始找出哪个无效的订阅用户发送了原始电子邮件。
恭喜你,这就是你,这就是你的工作。我成功使用的技术包括:
对发送用户的域 (在本例中可能是
lotuslive.com
) 做出精明的猜测,询问列表服务器哪些用户在该域中 (涉及mailman
)sudo -u mailman list_members -f LISTNAME | grep lotuslive.com
,并向每个用户发送个人测试电子邮件以查看是否退回;重复上述操作,但对于每个订阅用户,执行
dig mx DOMAINNAME
并查看是否有任何收件人的域被 MX 委托给lotuslive.com
,然后对每个收件人发送个人测试电子邮件以查找退回;降低列表引擎的发送速度(例如,每分钟发送一封电子邮件)并尝试将回复(查看邮件服务器日志)与收件人关联起来;
接受我永远不会发现它是谁,并涉及 procmail 或一些类似的过滤器来抑制最终的错误,所以我不必每次向列表发送合法邮件时都阅读它。
简而言之,没有单一的答案;需要耐心的侦查工作,这只是布洛列表管理员。祝你好运。
答案2
回答完这个问题,我确实找到了原因。我们使用的电子邮件服务器配置不太正确。其中一个设置提到了坏域。我更新了它以使用正确的域,现在我再也收不到那些消息了。