我如何才能关闭仅发送邮件过滤?我的 postfix 服务器非常慢。每秒发送 1 封邮件,我认为问题出在发送邮件过滤器 (amavis) 上。或者可能是其他问题?DNS 很好。
答案1
检查 amavis 是否正在运行。我怀疑您的问题出在远程端,而您无法关闭该端的过滤。
以每线程每秒 1 封邮件的速度清空队列可能是合理的。在另一端可能发生的一些会降低传输速率的事情包括:
- DNS 查找您的 IP 地址的 PTR 记录。
- 您的 IP 地址的 DNS 黑名单查找。
- 您的 IP 地址的 DNS 白名单查找。
- DNS 查找 PTR 返回的地址的 A 记录以进行 rDNS 验证。
- DNS 查找 SPF 以验证您的服务器是否允许发送电子邮件。
- DNS 查找 HELO 命令中提供的名称的记录。这应该是缓存查找,因为名称应该与 PTR 记录返回的名称相同。
- DNS 查找 PTR 以查找 HELO 命令中返回的名称的 IP 地址,以进行 rDNS 验证。(同样应该被缓存。)
- DNS 查找 SPF 中 HELO 命令中提供的名称,以确保它被允许以其自身身份发送邮件。
- 在信封发件人地址中查找域的 DNS 以确保其有效。
- 允许通过 DNS 查找 SPF 来验证信封发件人。
- DKIM 密钥的 DNS 查找。
- 对您发送的内容进行病毒扫描。
- 垃圾邮件检查您发送的内容。这可能涉及多次 DNS 查找。
所有这些可能加起来需要大约一秒钟。验证您的 DNS 配置是否完整会有所帮助。在某些情况下,为 SPF 配置 SPF 和 TXT 记录可能会加快 DNS 检查速度。
如果您可以将 Postfix 配置为立即传送,那么每条消息都应使用自己的线程。我不知道 Postfix 是否支持多个传送线程。多个线程可能会造成同步问题,从而降低服务器速度。
大量投递可能需要对服务器软件进行特殊调整。Exim 允许拆分假脱机数据库,以允许多个线程以较少的争用运行。如果电子邮件不是个性化的,那么将地址放在 BCC 字段中并按域对收件人进行分组可能会有所帮助。