Назад | Перейти на главную страницу

Exim: сопоставление адреса получателя с определенным регулярным выражением и условной доставкой электронной почты

Мне нужно разрешить моим клиентам использовать электронную почту в формате 4ca2bc00-6789-4161-bae7-c11c5b91454e@example.com, где часть имени пользователя является своего рода UUID. Эти электронные письма должны быть доставлены на определенный (единственный) адрес электронной почты (например, - inbound@example.com) для дальнейшей обработки, а адрес получателя используется для различения пользователей. Как правило, невозможно записать эти UUID в /etc/mail/aliases потому что нет возможности заранее узнать список этих UUID.

Как я могу настроить маршрутизаторы для системных псевдонимов или локальных пользователей, чтобы они принимали эти адреса электронной почты?

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      = inbound@example.com
  pipe_transport  = address_pipe
. . . . . .

Этот маршрутизатор перехватывает все сообщения, локальная часть которых соответствует регулярному выражению, и перенаправляет их на один адрес.

Только для записи

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