linux – 如何限制postfix发送到某些域的电子邮件数量并使用邮件头控制它?

前端之家收集整理的这篇文章主要介绍了linux – 如何限制postfix发送到某些域的电子邮件数量并使用邮件头控制它?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目标

我正在寻找一种解决方案来限制每小时发送给特定电子邮件操作符(几个顶级域名,我知道所有这些域名)的电子邮件的速率.我还需要一些方法来控制每个邮件的速率,以允许在每个小时内通过postfix发送更大量的电子邮件.对于此操作符维护的所有地址,限制是全局的,每个整小时重置一次.

到目前为止我做了什么

我使用postfix after_queue自定义过滤器,寻找指示优先级的自定义标头.过滤器接受的邮件数量保存在Postgresql数据库的脚本之外.适合当前时间范围配额的邮件将被传递到postfix接受,邮件外部配额将使用tempfail返回代码延迟.

用于向此特定操作符发送电子邮件的SMTP中继是单独的虚拟机,仅用于有限的电子邮件和来自操作符的跳出.根据要求,定制过滤器效率足够好.

问题

基本上,有两个问题:

>我找不到任何方法在postfix队列中优先处理电子邮件.如果我可以使用我们的自定义标头作为优先级指示器或为电子邮件添加另一个优先级标记并保证它将在非优先级消息之前被过滤和发送,那将是更好的选择.我考虑过使用多个实例(postmulti),但优先级需要是相对的,数字 – 这些用作outgoint邮件的配额修饰符.基本上:优先级为N的电子邮件使用没有优先级的电子邮件使用的1 / N配额.优先排序是很有用的功能,所以如果时间配置的配额正常工作,我们可以在没有它的情况下离开.
>由于电子邮件在应用过滤器后返回队列,我们​​无法保证电子邮件将在接受时间范围内真正发送.后缀队列似乎无法控制和控制实际吞吐量.

我对解决方案的想法

从队列后自定义筛选器,而不是将邮件返回到后缀队列,只需使用其他工具直接将其发送到目标SMTP并完全跳过postfix.我不知道Linux上是否有任何现成的smtp客户端可以实现这些任务.此外,我们需要处理同步(作为SMTP通信中的响应)和异步(作为发送到返回路径地址的状态电子邮件)的退回消息.我们还需要控制此类工具的Return-Path指向服务器发送的电子邮件.

作为最后的机会解决方案,我们的想法是推出自己的SMTP服务器,或者根据我们的需要修改sendmail / postfix源.在没有其他选项可用之前,这是一种过度杀伤力.

什么Linux工具可以立即(不排队)将电子邮件中继到收件人SMTP服务器并提供有效的退回邮件?或者,如果有更好的解决方案,我应该看看哪些工具?

解决方法

Question

What Linux tool can immediately (without queueing) relay e-mails to recipient SMTP server and provide valid bounce messages? Or,if there is better solution of this problem,what tools should I look at?

后缀本身具有MULTIPLE INSTANCE功能.它将允许您定义具有自己的队列和配置文件的后缀的单独实例.您可以将此实例用作SMTP处理的最后一个链.是的,因为它有独立的队列,这个特殊的实例可以发送你的电子邮件而无需等待和修改另一个队列.

原文链接:https://www.f2er.com/linux/395680.html

猜你在找的Linux相关文章