Exim:根据特定正则表达式匹配收件人地址并进行有条件的电子邮件传递

Exim:根据特定正则表达式匹配收件人地址并进行有条件的电子邮件传递

我需要允许我的客户使用以下格式的电子邮件[电子邮件保护],其中用户名部分是某种 UUID。这些电子邮件应发送到某个(单个)电子邮件地址(例如 -[电子邮件保护]) 以供后续处理,收件人地址用于区分用户。一般情况下,不可能将这些 UUID 写入,/etc/mail/aliases因为无法提前知道这些 UUID 的列表。

如何配置路由器以使系统别名或本地用户接受这些电子邮件地址?

答案1

begin routers
guids:
  driver    = redirect
  senders   = \N^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}@example\.com$\N
  data      = [email protected]
  pipe_transport  = address_pipe
. . . . . .

该路由器捕获所有与正则表达式匹配的本地部分的消息并将其重定向到单个地址。

答案2

仅供参考

begin routers
....
regexalias:
  driver = redirect
  data = ${lookup{$local_part}wildlsearch{/etc/aliases.wildcard}}

/etc/aliases.wildcard

^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}        user

这使得有更多的灵活的不需要重启 exim 的模式

相关内容