Если у моих пользователей есть имена пользователей в форме firstlast
в моем example.com
домен, есть ли способ заставить exim правильно доставлять им любое количество точек, помещенных в адрес? Это функция Gmail.
first.last@example.com
fir.stl.ast@example.com
f.i.r.s.t.l.a.s.t+label@example.com
все доставляются в firstlast@example.com
, последний с тегом, сохраненным для фильтрации.
В идеале я хотел бы иметь возможность нормализовать исходящую электронную почту от этих пользователей, чтобы она имела форму точек, которые они выбирают (также функция Gmail), чтобы их почта всегда выглядела как отправленная с first.last@example.com, если вот что они выбирают.
Я не знал, что Google позволяет разделять ваше имя где угодно. Следующее должно позволить пользователям размещать любой суффикс, который они хотят, после их идентификатора пользователя, что относительно часто делается. Кажется, что 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
по крайней мере в одном маршрутизаторе или объедините обе функции в одном маршрутизаторе.