![postfix 目标已满/忙/错误 尝试另一个目标](https://linux22.com/image/652536/postfix%20%E7%9B%AE%E6%A0%87%E5%B7%B2%E6%BB%A1%2F%E5%BF%99%2F%E9%94%99%E8%AF%AF%20%E5%B0%9D%E8%AF%95%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%9B%AE%E6%A0%87.png)
有谁知道是否可以为某个域设置带有目的地的 postfix。如果该目的地(也运行 postfix)由于磁盘已满或处于离线状态而无法接受邮件。则将尝试另一个目的地。
有点像 MX 记录,如果服务器离线,它会通过转到下一个记录来工作,但如果由于磁盘空间已满而无法接受邮件,它就不会工作。还是我错了?
答案1
如果目标邮件服务器有空的可用空间不足,则电子邮件无法接受电子邮件。邮件服务器必须暂时存储电子邮件以将其排队,然后再将其发送到下一个目的地。
发生这种情况时,正确的邮件服务器会抛出 4xx。这意味着“我现在无法接受您的邮件。您可以稍后再试”(RFC 2821 点 4.2.1). 当从服务器获取 4xx 代码时,邮件客户端将有几种选择
- 根据 MX 查找结果重试下一个服务器
- 等待并重试主邮件服务器
不幸的是 RFC发生这种情况时不建议采取特定行动. 邮件客户端可以选择第一个选项或者第二个选项。
我尝试模拟这种情况来收集一些关于几家大型邮件提供商如何响应 4xx 回复代码的数据
- 我的服务器使用 Postfix 2.10立即地尝试将电子邮件发送到辅助邮件服务器
- GMail 将继续尝试连接主邮件服务器几分钟后
- 雅虎将继续尝试主邮件服务器几分钟后
如何解决这一问题?
一个选项是添加一些定期检查服务器可用空间的脚本。如果磁盘使用率高于某个阈值,那么您可以使用防火墙屏蔽互联网上的 25 端口。当邮件服务器无法访问或根本没有响应时,yahoo 和 gmail 都会立即尝试发送到下一个首选服务器。