Чего я хочу добиться:
На моем производственном сервере я планирую иметь несколько пользователей и несколько доменов, и мой лучший вариант - создать пользователя unix в формате полного адреса электронной почты - когда Джон Доу запрашивает учетную запись электронной почты на myfirstdomain.com, он должен получить имя пользователя, которое является его точный адрес электронной почты - john.doe@myfirstdomain.com
Что мне делать?
Я создаю пользователя (UNIX) john.doe@myfirstdomain.com, а затем сопоставляю этого пользователя с адресом электронной почты john.doe@myfirstdomain.com, поэтому /etc/postfix/virtual
выглядит так:
john.doe@myfirstdomain.com john.doe@myfirstdomain.com
Затем я отправляю карту своей виртуальной карты, перезагружаю конфигурацию и отправляю электронное письмо на адрес john.doe@myfirstdomain.com.
Что я получу
немедленная ошибка, говорящая, что пользователь Джон Доу не существует - не учитывается полное имя пользователя john.doe@myfirstdomain.com, только то, что перед @ - поэтому отображение, показанное выше, не работает. Как это исправить?
Следует отметить, что я могу достичь функциональности, когда использую пользователя UNIX, у которого нет символа @.
Я думаю, тебе придется отказаться от этой мечты, RFC 822 довольно ясно об этом,
addr-spec = local-part "@" domain ; global address
Postfix лечит @
символ в качестве терминатора локальной части и того, что будет потом в качестве хоста, я бы не стал рассчитывать на возможность использования локальных имен unix с этим символом в них.
Если вы хотите, чтобы ваши имена пользователей совпадали с адресом электронной почты этого человека, вы можете использовать виртуальный table, но они не будут отображаться напрямую для пользователей системы.