我正在寻找一个 MTA(在 Linux 上运行),以便根据电子邮件地址以及可选的发件人自动回复和/或转发电子邮件。

目前,当前的 MTA(Postfix)是 subdomain.domain.tld 的目的地,但该域名很快将不复存在。我如何设置 MTA(如 Postfix、Exim)来执行以下操作:

  • 如果有一封电子邮件发送至important@subdomain.domain.tld,且发件人来自@domain.tld,则发送自定义自动回复。
  • 如果有电子邮件发送至important@subdomain.domain.tld,且发件人不是来自@domain.tld,则发送自定义自动回复并将邮件转发至important@newdomain.tld
  • 如果有电子邮件发送至@subdomain.domain.tld,则发送带有通用“此用户/电子邮件地址不存在”消息的自动回复。
  • 如果有电子邮件发送至@subdomain.domain.tld,请将其删除。

有效用户列表包含大约 50 个用户,并且不会增长。目前它是一个纯文本文件。Postfix 能够完成这项任务吗?如果可以,有什么好的示例或指南吗?我可以轻松地从 Postfix 更改为另一个可能更适合此任务的 MTA。

6

  • 产品推荐与此无关。这里有


    – 

  • 1
    but this domain will soon cease to exist– 我想您正在寻找域名消失前的临时解决方案?为什么 Postfix 不能满足您的要求?您尝试过吗?


    – 


  • @GeraldSchneider,目的不是推荐软件,而是如何配置 MTA 来完成这项任务。已编辑问题以更好地反映意图。


    – 

  • @JaromandaX,是的,这将是一个临时解决方案。我曾尝试用 Postfix 解决这个问题,但还没有成功。我正在寻找指南或示例,或者至少是 Postfix 是否能够完成这项工作的提示。


    – 

  • 如果您想要共同配置您的 MTA,请说明您正在使用什么、哪些不起作用并提供您的配置,以便有人可以帮助您。如果您想获得 MTA 的推荐,那么这只是一个推荐。没有人会为您编写整个配置,我们只能帮助您解决具体问题。如果您需要指南,请谷歌搜索。


    – 


最佳答案
1

在脚本中实现您想要的逻辑很容易。

然后,使用 Postfix,我会在文件中设置一个脚本调用别名/etc/aliases,例如以管道开头的别名,例如:

important   |/usr/local/bin/autoreply.py

将所有东西重定向到该电子邮件,例如

mydestination = subdomain.domain.tld
luser_relay = important@subdomain.domain.tld
local_recipient_maps =

(文件中的记录mydestination需要这个值来实际指定地址)。importantaliasesimportant@subdomain.domain.tld


或者,可以使用虚拟别名映射以更安全(地址保留)的方式完成重定向。在这种情况下,您仍然需要在 中使用管道别名/etc/aliases,因为这是唯一可以发生这种情况的地方,但mydestination您不必设置 和其他 ,而是设置virtual_alias_domains并将virtual_alias_maps所有内容重定向到该地址。在这种情况下,脚本地址不能在该域中。例如,在 中main.cf

virtual_alias_domains = subdomain.domain.tld
virtual_alias_maps = hash:/etc/postfix/virtual
mydestination = another.subdomain.domain.tld

该文件/etc/postfix/virtual将包含:

@subdomain.domain.tld  important@another.subdomain.domain.tld

此处的目标必须与aliases文件中的用户部分和中的域名相匹配mydestination,并且不能包含subdomain.domain.tld其自身。