7

Мне нужно настроить функцию регулярного выражения регулярных выражений на postfix так, чтобы:

  • Том.(что угодно)@ domain.com переходит на tom@other.com
  • Фил.(что угодно)@ domain.com переходит на phil@other.com

Как это может быть достигнуто в postfix?

3 ответа3

15

Добавьте это в ваш main.cf:

alias_maps = regexp:/etc/postfix/aliases

Затем создайте /etc/postfix/aliases следующим образом:

/^tom\..*@domain.com$/     tom@other.com
/^phil\..*@domain.com$/    phil@other.com

Смотрите дополнительную информацию в документации по таблице регулярных выражений .

1

Я добавлю это для людей, которые задаются вопросом, возможно ли обрабатывать псевдонимы с несколькими адресами с меньшей конфигурацией:

/^(.*)\..*@domain.com$/     $1@other.com

Это будет пересылать:

<anything>.<part_b>@domain.com

в

<anything>@other.com

-1

Я не знаю Postfix, но вы ищете регулярное выражение:

/^.*(\..*)@(domain).com$/

Затем вы заменяете первую подходящую группу ничем (пустая строка), а вторую группу на "прочее".

Как пример, в Perl вы бы сделали:

my $regex = '^.*(\..*)@(domain).com$';

$your_string =~ /$regex/;
$aux = $2;
$your_string =~ s/$1//;
$your_string =~ s/$aux/other/;

print $your_string;

Конечно, это работает, только если адрес электронной почты имеет "домен" в качестве домена. Если вы хотите, чтобы домен был чем-то, то регулярное выражение будет:

^.*(\..*)@(.*).com$

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .