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

Поддомены с подстановочными знаками хоста с использованием постфикса

Я пытаюсь понять, как заставить postfix принимать электронную почту для любого поддомена моего основного сайта. У меня нет виртуальных доменов, только длинный список субдоменов для локальной доставки. В частности, я кормлю python@*.mydomain.com в Python с помощью файла псевдонима:

python:    |/www/proc_email.py

Python может обрабатывать доставку оттуда. Я предполагаю, что это будет выглядеть примерно так:

mydestination = encendio, localhost.localdomain, localhost, *.mydomain.com

Я использую последнюю версию postfix на Ubuntu (не совсем уверен, как проверить версию).

Заранее спасибо.

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

/^encendio$/                  ACCEPT
/^localhost\.localdomain$/    ACCEPT
/^localhost$/                 ACCEPT
/^.*\.mydomain\.com$/         ACCEPT

Вы не можете использовать подстановочные знаки, если явно перечисляете пункты назначения в конфигурации Postfix, но, к счастью, $mydestination опция принимает поиск по таблице. Так что попробуйте установить $mydestination к карта pcre как это:

mydestination = pcre:/etc/postfix/mydestinations

Затем создайте /etc/postfix/mydestinations с правильно закрепленными и экранированными регулярными выражениями:

/^encendio$/                  ACCEPT
/^localhost\.localdomain$/    ACCEPT
/^localhost$/                 ACCEPT
/^.*\.mydomain\.example$/     ACCEPT

Технически вместо "ПРИНЯТЬ" вы можете поставить что угодно, так как результат игнорируется; только наличие матча достаточно:

Укажите список имен хостов или доменов, шаблоны «/ file / name» или «type: table», разделенные запятыми и / или пробелами. Шаблон "/ file / name" заменяется его содержимым; таблица поиска "type: table" соответствует, когда имя соответствует ключу поиска (результат поиска игнорируется).

*.mydomain.com не будет работать.

Вам нужно создать relay-domains и поместите туда все свои поддомены. 1 на строку.