Можно ли совмещать canonical maps, если используется virtual_transport = virtual и база пользователей в MySQL?
Из мана по canonical:
The canonical mapping is not to be confused with virtual domain sup-
port. Use the virtual(5) map for that purpose.
А я хочу, чтобы все имена username@mydomail.com конвертировались в firstname.lastname@mydomain.com. Конечно можно с помощью алиасов, но canonical maps наверное лучшее решение.
Должно работать и для вирутальных доменов, и с mysql. Если postfix 2.2 и выше, то
NOTE: Postfix versions 2.2 and later rewrite message headers from remote SMTP clients only if the client matches the local_header_rewrite_clients parameter, or if the remote_header_rewrite_domain configuration parameter specifies a non-empty value. To get the behavior before Postfix 2.2, specify "local_header_rewrite_clients = static:all".
>Должно работать и для вирутальных доменов, и с mysql. Если postfix 2.2
>и выше, то
>NOTE: Postfix versions 2.2 and later rewrite message headers from remote SMTP
>clients only if the client matches the local_header_rewrite_clients parameter, or if
>the remote_header_rewrite_domain configuration parameter specifies a non-empty value. To get the
>behavior before Postfix 2.2, specify "local_header_rewrite_clients = static:all".Настроил canonical_maps. В main.cf прописал:
canonical_maps = mysql:/usr/local/etc/postfix/mysql_virtual_canonical_maps.cf
local_header_rewrite_clients = static:allфайл mysql_virtual_canonical_maps.cf:
user = postfix
password = 1111
hosts = localhost
dbname = postfix
table = canonical
select_field = mapto
where_field = addressВ таблице canonical прописываю юзера:
+--------------------------+-------------------+
| address | mapto |
+--------------------------+-------------------+
| ftest.ltest@mydomain.com | test@mydomain.com |
+--------------------------+-------------------+В итоге письмо на ftest.ltest@mydomain.com перенаправляется на test@mydomain.com, что в принципе ничем не отличаеться от алиаса.
Но я хочу чтобы письмо от test@mydomain.com отправлялось как от ftest.ltest@mydomain.com, чтобы не светить адрес test@mydomain.com. Как это сделать? Наверное надо копать в trivial-rewrite.
>Но я хочу чтобы письмо от test@mydomain.com отправлялось как от ftest.ltest@mydomain.com, чтобы
>не светить адрес test@mydomain.com. Как это сделать? Наверное надо копать в
>trivial-rewrite.
Поменять местами в таблице test@mydomain.com и ftest.ltest@mydomain.com.
>>Но я хочу чтобы письмо от test@mydomain.com отправлялось как от ftest.ltest@mydomain.com, чтобы
>>не светить адрес test@mydomain.com. Как это сделать? Наверное надо копать в
>>trivial-rewrite.
>Поменять местами в таблице test@mydomain.com и ftest.ltest@mydomain.com.Поменял. Все заработало. Только в таблице alias нужно прописать обратное. Мне не хочется
держать две таблицы: canonical и alias с обратными записями. Поэтому я в
mysql_virtual_canonical_maps.cf прописал:
user = postfix
password = 1111
hosts = localhost
dbname = postfix
table = alias (!!!!!!!!!)
select_field = address
where_field = goto
additional_conditions = and active='1'а в mysql_virtual_alias_maps.cf:
user = postfix
password = 1111
hosts = localhost
dbname = postfix
table = alias (!!!!!!!!)
select_field = goto
where_field = address
additional_conditions = and active='1'То есть хотел использовать одну таблицу alias и для alias и для canonical.
Но каждый раз при посылке письма появляется warning:
postfix/cleanup[89662]: warning: 9AD032842E: multi-valued canonical_maps entry for test@mydomain.com.
Видимо все-таки придется использовать две таблицы.
Или как-то можно обойтись одной?
Попробуйте одной таблицей, но только не через canonical_maps и alias, а через sender_canonical_maps и recipient_canonical_maps.
>Попробуйте одной таблицей, но только не через canonical_maps и alias, а через
>sender_canonical_maps и recipient_canonical_maps.не виходит:
alias_maps =
alias_database =
sender_canonical_maps = mysql:/usr/local/etc/postfix/mysql_virtual_sender_canoni
cal_maps.cf
recipient_canonical_maps = mysql:/usr/local/etc/postfix/mysql_virtual_recipient_
canonical_maps.cf
local_header_rewrite_clients = static:all
postfix/cleanup[90270]: warning: 851A52845A: multi-valued sender_canonical_maps entry for test@mydomain.com
Наверно всетаки надо через две таблицы делать. Потому что есть много алиасов на один адрес