是否有阻止自动 cannot-deliver 回复的电子邮件 header?

Is there an email header that prevents automatic cannot-deliver responses?

我知道 there is no "no-reply" header 用于电子邮件。但我想要一些不同的东西。

我有一个发送自动电子邮件的应用程序(例如 "thank you for registering, click this link to confirm email address")。有时目标电子邮件不正确,或者服务器没有响应,等等。在那种情况下,我的本地 SMTP 服务器最终会生成一封新的 "Delivery Delayed" 电子邮件返回给发件人,最后 - "Delivery Failed"。但是,由于原始电子邮件是以自动方式发送的,因此这些状态通知是无关紧要的。

更糟 - 如果您在 "from" 字段中使用真实的电子邮件地址,真实的人将收到一封 "delivery delayed" 电子邮件,内容是他从未发送过的。

我可以在我的电子邮件 headers 中添加一些内容来指定这些 "delivery status notifications" 不是必需的吗?

避免回复的唯一正确和明智的方法是在 SMTP 信封中使用空 (<>) return 地址(即 MAIL FROM:<>)——注意这是不是 header,而是 SMTP 事务的一部分。

然而,不是错误响应(退回或 DSN)的邮件通常不应使用空return地址。

但是,在这种情况下,人们可能会将 HTTP 请求和 SMTP 响应的组合视为与用户的一个逻辑事务,因此违反 "should" 可能是合理的。请注意,收件人和/或他们的 MTA 和 MUA 可能会以不同于正常邮件的方式处理看似退回或 DSN 的邮件,这可能会影响他们处理您的通知的方式。如果您的邮件不要求收件人采取任何行动,这可能没问题,否则就不需要。 IE。是明信片,还是行动请求?

最好的做法是在所有此类自动外发通知邮件上使用正确的application-specificreturn地址并转发任何退回邮件或 DSN (到 return 路径的传入消息本身有一个空的 return 路径)到一个程序,该程序将主动对消息进行一些智能操作(例如,从注册数据库中删除带有退回地址的记录),并将所有其他 non-DSN 消息转发给人类以供考虑。

即您确实需要为所有外发邮件使用 DSN,无论您是否意识到这一点! :-)

(顺便说一句,永远不要 曾经 曾经 使用任何看起来或感觉像 "no-reply" 或任何类似的或与之相关的东西。带有此类虚假地址的邮件很可能会被拒绝、丢弃或忽略,这是理所当然的。)