Исключение для псевдонима захвата постфикса с подстановочными знаками, чтобы позволить dovecot сохранять электронную почту

Я настроил postfix для чтения карт псевдонимов из PostgreSQL ( virtual_alias_maps = pgsql: /etc/postfix/pgsql-virtual-alias-maps.cf ), каждый домен, который я настроил, имеет универсальное правило.

Создание более конкретного псевдонима для перенаправления электронной почты на новую электронную почту (например, внешнего провайдера) возможно, но я понятия не имею, как указать postfix (чтобы сообщить dovecot) хранить электронную почту для определенных адресов электронной почты.

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

Просто для дальнейшего пояснения, именно этих перенаправлений я хочу добиться. (Я уже пытался использовать имя пользователя вместо полного адреса электронной почты в псевдонимах, но это не сработало, электронные письма не были сохранены, поэтому должно быть что-то еще):

user@domain.com -> user@domain.org
user2@domain.email -> user2 (SMTP user's mailbox)
@domain.com -> catchall (SMTP user's mailbox)
@domain.email -> catchall (SMTP user's mailbox)
@domain.net -> user@external.com
user2@domain.com -> user2@domain.email
[... and a few hundred more ...] 

Решение также должно работать с адресами электронной почты юникода меня уже сильно раздражает глупый драйвер LATIN1 PGSQL Postfix, который нигде не упоминается, он даже не конвертируется в punycode, когда набор символов не LATIN1.

Если вам нужны другие подробности пожалуйста, дайте мне знать.

0
задан 15 December 2018 в 11:43
1 ответ

Есть ли действительно нужен PostgreSQL для псевдонимов? Это довольно просто с Berkeley DB

virtual_alias_maps = hash:/etc/postfix/virtual

. В этом примере, .com и .net являются внутренними, а .org - внешними:

user@example.com   user@example.org
user2@example.com  user2
user2@example.net  user2
@example.com       catchall
@example.net       catchall

Подумайте адреса и назначения как простые пары, избавившись от сложных цепочек вроде:

user2@domain.com --> user2@domain.net --> user2
1
ответ дан 4 December 2019 в 15:48

Теги

Похожие вопросы