我想要一个设置,其中像 [email protected] 这样的电子邮件地址将邮件重定向到文件夹 foo。我已经配置并测试了 dovecot。它由后缀在 master.cf 中使用此行调用:
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -n -m ${extension}
我希望${extension}
扩展到“foo”,但它总是空的。
我已经添加
recipient_delimiter = +
到我的 main.cf。
我怎样才能让它工作?
我有一个包罗万象的别名,可将@example.com 重定向到 [email protected]。因此,扩展名似乎是空的。所以问题就变成了:我可以有一个包罗万象,以便 [email protected] 重定向到 [email protected] 而不明确定义 random 或 ext 部分吗?
您将需要使用正则表达式映射才能使其工作。
这是Wietse 关于此事 的帖子片段。
您可以使用正则表达式表而不是固定字符串映射,并进行任意地址转换:
您可以在regex101中获得对正则表达式方案的解释。简而言之,括号
()
将捕获扩展并将其传递给您的别名。我使用 Postfix 和 CourierIMAP 进行了类似的设置。您可以尝试使用procmail来处理这个问题。我设置了一个通配符,以便所有邮件都发送给一个用户,然后使用 procmail 规则根据电子邮件发送到的地址将电子邮件过滤到各种文件夹中。
例如,这会将发往 adsense 或 google @domain.com 的电子邮件过滤到 Google 文件夹中:
为了满足您的目的,您可以使用更高级的规则,如下所示:
但是,请注意该文件夹区分大小写,您需要确保已创建该文件夹。如果需要,您可以更高级,只需编写脚本以在文件夹尚不存在时创建文件夹。