Sendmail DSN — 删除令人困惑的“会话记录如下”

Sendmail DSN — 删除令人困惑的“会话记录如下”

Sendmail 传递状态通知如下所示:

The original message was received at Fri, 8 Feb 2013 10:49:11 +0100
from host1.example.local [192.168.0.1]

   ----- The following addresses had permanent fatal errors -----
<[email protected]>
    (reason: 550 Host unknown)

   ----- Transcript of session follows -----
550 5.1.2 <[email protected]>... Host unknown (Name server: example.com.: host not found)
... while talking to mx.example.org.:
>>> DATA
<<< 450 4.7.1 <[email protected]>: Recipient address rejected: Policy Rejection- Please try later.
<[email protected]>... Deferred: 450 4.7.1 <[email protected]>: Recipient address rejected: Policy Rejection- Please try later.
<<< 554 5.5.1 Error: no valid recipients
... while talking to mx.example.net.:
>>> DATA
<<< 451 4.7.1 Service unavailable - try again later
<[email protected]>... Deferred: 451 4.7.1 Service unavailable - try again later 

对我来说这一切都很清楚(1 个错误地址,2 个被推迟灰名单)。但这对我的用户来说非常令人困惑:有Error恐慌);[email protected]是有效的地址,但它在退回邮件中提到,所以显然没有送达等等。

有没有办法禁用Transcript of session followsSendmail 的部分 DSN?最好使用 中的某些选项sendmail.mc。我希望它不需要使用类似于 BrainF*CK 的语言,其中sendmail.cf编写了 中的重写规则。

CentOS5 上的 Sendmail 版本为 8.13.8,但 CentOS6 上的版本很快将升级为 8.14.4

答案1

基本上你不能。如果你愿意,你可以用全局 procmail 脚本(或类似脚本)过滤掉它。但你也可以尝试

define(`confERROR_MESSAGE', `text')dnl

看看会发生什么。在您的系统生成的邮件消息中,text将在这些消息中预先添加。通过包含一些为您的用户提供更多线索的内容,您可能会成功地教育他们如何阅读此内容。您可以使用 sendmail 宏,如$utext它们被展开。如果您有 bat 书第 4 版的副本,则在第 1027-1028 页中详细讨论了此选项。

相关内容