Postfix:如何使电子邮件别名工作?

Nic*_*ick 13 postfix

该文档声称我可以在文件中添加别名(如 /etc/postfix/virtusertable),然后使用“virtual_maps”指令指向它。然而,这似乎不起作用。

我的邮件被退回:

Recipient address rejected: User unknown in local recipient table;
Run Code Online (Sandbox Code Playgroud)

如果我使用 mail 命令从服务器向用户发送邮件,它就可以工作。

mail myuser
Run Code Online (Sandbox Code Playgroud)

该消息通过后缀并正确插入 Cyrus 收件箱。

当我使用 fetchmail 从 pop3 服务器上获取用户的消息时,postfix 失败。用户的电子邮件是“myuser@mydomain.com”,但它似乎没有正确映射到“myuser”,cyrus 邮箱名称。



/etc/postfix/main.cf

我的主机名 = 本地主机
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = 本地主机
中继主机 =
我的网络 = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
邮箱大小限制 = 0
收件人分隔符 = +
inet_interfaces = 全部
邮箱传输 = lmtp:unix:/var/run/cyrus/socket/lmtp
#lmtp:unix:/var/run/lmtp
virtual_alias_domains = mydomain.com
virtual_maps = 哈希:/etc/postfix/virtusertable



/etc/fetchmailrc

等系统日志;
设置守护进程 20;

轮询“mail.pop3server.com”
使用协议 pop3
用户“myuser@mydomain.com”密码“12345”是“myuser”
获取所有保持



/etc/postfix/virtusertable

myuser@mydomain.com     myuser
Run Code Online (Sandbox Code Playgroud)



后置 -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = 否
比夫 = 否
config_directory = /etc/postfix
inet_interfaces = 全部
邮箱大小限制 = 0
邮箱传输 = lmtp:unix:/var/run/cyrus/socket/lmtp
mydestination = 本地主机 
我的主机名 = 本地主机
我的网络 = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = 否
收件人分隔符 = +
中继主机 = 
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

为什么它忽略我的别名?

sol*_*ald 21

本地别名进入

alias_database = hash:/etc/aliases(不在/etc/postfix/virtusertable)中,格式如下:

alias: destination. 在那之后运行newaliases

  • 不,正确的格式是 **user: anotheruser@domain.com, localuser** (3认同)