В документации утверждается, что я могу добавлять псевдонимы в файл (например, / 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 recipient_delimiter = + inet_interfaces = all mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp #lmtp:unix:/var/run/lmtp virtual_alias_domains = mydomain.com virtual_maps = hash:/etc/postfix/virtusertable
/ и т.д. / fetchmailrc
et syslog; set daemon 20; poll "mail.pop3server.com" with protocol pop3 user "myuser@mydomain.com" password "12345" is "myuser" fetchall keep
/ и т.д. / postfix / virtusertable
myuser@mydomain.com myuser
postconf -n
alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no config_directory = /etc/postfix inet_interfaces = all 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 = no recipient_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 = yes virtual_alias_domains = mydomain.com
Почему он игнорирует мой псевдоним?
Локальные псевдонимы входят в
alias_database = hash:/etc/aliases
(не в /etc/postfix/virtusertable
) в следующем формате:
alias: destination
. После этого бега newaliases
.
Просто столкнулся с этой проблемой ... и обнаружил, что, как ни странно, моя проблема не связана с cyrus ...
Поскольку я мог доставлять прямые, включая "+" адреса, но адреса с псевдонимами отклонялись ... К вашему сведению, я обнаружил, что адреса псевдонимов были переписаны. [myalias]
стал [myalias@myhost.mydomain.tld]
Так что пока я не разобрался, как отключить расширение или поменять его на падение [myhost]
, обходным путем было расширение файла псевдонимов [myalias@mydomain.tld]
вместо того [myalias]
Наконец я наткнулся на это, когда наконец заметил журнал, показывающий FQDN
а не просто домен, как я использовал в sendmail.