Postfix: как заставить работать псевдонимы электронной почты?

11

В документации утверждается, что я могу добавить псевдонимы в файл (например, / etc / postfix / virtusertable), а затем использовать директиву virtual_maps, чтобы указать на него. Это, кажется, не работает, как бы то ни было.

Моя почта подпрыгивает с:

Recipient address rejected: User unknown in local recipient table;

Если я отправляю письмо пользователю с сервера с помощью команды mail, это работает.

mail myuser

Сообщение проходит через постфикс и корректно вставляется в папку входящих сообщений Cyrus.

Когда я использую fetchmail для получения сообщений пользователя с сервера pop3, postfix завершается ошибкой. Адрес электронной почты пользователя - «myuser@mydomain.com», но, похоже, он неправильно сопоставляется с «myuser», именем почтового ящика cyrus.



/etc/postfix/main.cf

myhostname = localhost
alias_maps = hash: / etc / aliases
alias_database = hash: / etc / aliases
myorigin = / etc / mailname
mydestination = localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
mailbox_size_limit = 0
receient_delimiter = +
inet_interfaces = все
mailbox_transport = lmtp: unix: / var / run / cyrus / socket / lmtp
#lmtp: Unix: / вар / бег / LMTP
virtual_alias_domains = mydomain.com
virtual_maps = hash: / etc / postfix / virtusertable



/ И т.д. / fetchmailrc

et syslog;
установить демона 20;

опрос "mail.pop3server.com"
с протоколом pop3
пользователь "myuser@mydomain.com" пароль "12345" является "myuser"
держать в руках



/ И т.д. / постфикса / virtusertable

myuser@mydomain.com     myuser



postconf -n

alias_database = hash: / etc / aliases
alias_maps = hash: / etc / aliases
append_dot_mydomain = нет
biff = нет
config_directory = / etc / postfix
inet_interfaces = все
mailbox_size_limit = 0
mailbox_transport = lmtp: unix: / var / run / cyrus / socket / lmtp
mydestination = localhost 
myhostname = localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
myorigin = / etc / mailname
readme_directory = нет
receient_delimiter = +
relayhost = 
smtp_tls_session_cache_database = btree: $ {data_directory} / smtp_scache
smtpd_banner = $ myhostname ESMTP $ mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree: $ {data_directory} / smtpd_scache
smtpd_use_tls = да
virtual_alias_domains = mydomain.com

Почему он игнорирует мой псевдоним?

Ник
источник

Ответы:

19

Местные псевдонимы входят в

alias_database = hash:/etc/aliases(не в /etc/postfix/virtusertable) в следующем формате:

alias: destination, После этого беги newaliases.

Solefald
источник
Я получаю предупреждение: «warning: / etc / aliases, строка 3: имя должно быть локальным». Я добавил запись "user@mydomain.com: user" в / etc / aliases. пользователь не пользователь на машине, это почтовый ящик / пользователь Cyrus.
Ник
2
Нет, правильный формат - пользователь: anotheruser@domain.com, localuser
Дэвид Рикман
Хорошо, изменили формат, и предупреждение исчезло, но почта все еще отскакивает. Я получаю «550-почтовый ящик неизвестен».
Ник
Похоже, что Fetchmail принимает сообщение, пытается отправить его Сайрусу, но теперь Сайрус его отскакивает. Я думаю, что postfix не отправляет его с правильным псевдонимом? Или Сайру нужна собственная таблица псевдонимов?
Ник
Я собираюсь отметить это как решенное и создать новый вопрос для проблемы Кира, поскольку технически это другой вопрос.
Ник
0

Просто столкнулся с этой проблемой ... и обнаружил, что, как ни странно, моя проблема не была связана с Сайрусом ...

поскольку я мог доставлять прямые адреса, включая «+», но псевдонимы-адреса были отклонены ... К вашему сведению, я обнаружил, что адреса-псевдонимы переписывались [myalias] стал [myalias@myhost.mydomain.tld]

поэтому до тех пор, пока я не выясню, как отключить расширение или изменить его на пропадание, обходной путь [myhost] заключался в расширении файла aliases [myalias@mydomain.tld] вместо [myalias], когда он наконец наткнулся на него, когда, наконец, заметил журнал, отображающий полное доменное имя вместо просто домена, как я использовал в sendmail.

Роберт
источник