当用户不存在时,本地电子邮件会发生什么情况

我正在运行一个服务器与后缀来处理从PHP网站发送的电子邮件
域名的电子邮件是由另一个服务器处理的,但是由于这个域名已经被input到“mydestintion”(main.cf)中,Web服务器使用本地中继,而不是通过邮件服务器发送。
问题是名称相当于电子邮件地址的用户不存在。

这些电子邮件是永远消失还是存储在某个地方?

大多数MTA几乎会走到尽头,以避免在地板上丢弃信息。 通常会产生反弹(通过接收MTA,或者对于性能更好的MTA,接收MTA将拒绝5xx致命错误代码,发送MTA将把出站消息转换为反弹)。

如果这种反弹本身是无法投递的,那么MTA就会把它发送给最后的手段,这是当地的邮政局长。

只有当MTA不能做任何事情 – 通常需要你主动configuration它不会 – 恐慌,并摧毁信息。 即使那样,你通常会find类似于的日志条目

Oct 24 04:18:57 host sm-mta[4499]: g9N5EwE3004499: Losing q5/qfg9N5EwE3004499: savemail panic Oct 24 04:18:57 host sm-mta[4499]: g9N5EwE3004499: SYSERR(root): savemail: cannot save rejected email anywhere 

所以我的build议是在生成邮件的系统上启动,并遵循日志条目。 这可能是相当有说服力的,而且它可能经常跨越几个不同的系统(如果它们的时钟不同步,那么你决定不安装NTP的那一天!)但是最后,所有优秀的MTA都保持优秀的日志,一旦你明白他们是如何写的,他们加起来。

最终,您最终会遇到日志恐慌或日志logging的最终传送,通常是本地邮件缓冲区。 这并不意味着消息仍然会在后台; 有人可能已经阅读过,或者是一份定期的工作,但是这不是MTA的错,也不是它的问题。 虽然它有你的信息,但是MTA会移动天地来做你的电子邮件,如果你明白如何发现,它会告诉你它做了什么。

从日志开始。