如何使用 exim 忽略传入电子邮件地址中的点?

如何使用 exim 忽略传入电子邮件地址中的点?

firstlast如果我的用户在我的域内有以下形式的用户名example.com,那么有没有办法让 exim 正确地向他们发送地址中输入的点数?这是 Gmail 的一项功能。

[email protected]
[email protected]
[email protected]

均被传送至[email protected],最后一个将保留其标签以供过滤。

理想情况下,我希望能够将这些用户发送的电子邮件标准化,使其具有他们选择的点的形式(也是 Gmail 的一个功能),以便他们的邮件始终看起来来自[电子邮件保护]如果这是他们的选择。

答案1

我不知道 Google 允许您在任何地方拆分您的姓名。以下内容应允许用户在其用户 ID 后放置他们想要的任何后缀,这是比较常见的做法。Gmail 似乎允许使用加号而不是点。

dot_local:
  driver = accept
  domains = +local_domains
  local_part_suffix = .*
  check_local_user
  transport = LOCAL_DELIVERY

Exim 应该已经在 中查找了外发邮件地址别名/etc/email-addresses。可以将用户的首选地址添加到此文件,也可以基于现有重写规则构建自己的重写机制。

要从地址中删除所有点,请尝试将local_part_suffix = .*上述路由器中的 替换为data = ${sg{$local_part}{[.]}{}}@$domain。这应该会尝试本地传送已删除所有点的地址。我的一个路由器的这种变体也应该可以工作。

gmail_local:
  debug_print       = "R: gmail_local for $local_part@$domain"
  driver            = redirect
  domains           = +local_domains
  data              = ${sg{$local_part}{[.]}{}}@$domain

如果您想要这两种功能,我相信您至少需要driver = redirect在一台路由器上同时使用这两种功能,或者将这两种功能结合到一个路由器中。

相关内容