我怎样才能忽略传入的电子邮件地址中的点与进出口?

如果我的用户在我的example.com域中有firstlastforms的用户名,那么有没有办法让exim正确地传递给他们,无论点数放在地址中? 这是Gmail的一项function。

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

全部被传送到[email protected] ,最后的标签被保留用于过滤。

理想情况下,我希望能够对这些用户发送的电子邮件进行规范化,使其具有他们select的点的forms(也是Gmail的一项function),以便他们的邮件始终显示为来自[email protected] if这是他们select的。

我不知道Google允许你在任何地方分割你的名字。 以下应该允许用户在他们的userid之后放置他们想要的任何后缀,这是比较常用的。 Gmail似乎允许使用加号而不是点号。

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

Exim应该已经在/etc/email-addresses查找传出的电子邮件地址别名。 将用户的首选地址添加到此文件中,或者根据现有的重写规则构build您自己的重写机制。

要删除地址中的所有点,请尝试在data = ${sg{$local_part}{[.]}{}}@$domainreplace上述路由器中的local_part_suffix = .* 。 这应该尝试本地提供的地址删除所有的点。 我的一个路由器的这种变化也应该起作用。

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

如果你想要这两个function,我相信你将需要在至less一个路由器中使用driver = redirect ,或者将两个function组合到一个路由器中。