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


11

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

我的邮件弹跳为:

Recipient address rejected: User unknown in local recipient table;

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

mail myuser

该消息经过后缀,并正确地将自身插入到Cyrus收件箱中。

当我使用fetchmail从pop3服务器获取用户的消息时,后缀失败。用户的电子邮件为“ myuser@mydomain.com”,但似乎未正确映射到赛勒斯邮箱名称“ myuser”。



/etc/postfix/main.cf

myhostname =本地主机
alias_maps =哈希:/ etc / aliases
alias_database =哈希:/ etc / aliases
myorigin = / etc /邮件名
mydestination =本地主机
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
Mailbox_size_limit = 0
receive_delimiter = +
inet_interfaces =全部
Mailbox_transport = 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”
fetchall保持



/ etc / postfix / virtusertable

myuser@mydomain.com     myuser



postconf -n

alias_database =哈希:/ etc / aliases
alias_maps =哈希:/ etc / aliases
append_dot_mydomain =否
biff =否
config_directory = / etc /后缀
inet_interfaces =全部
Mailbox_size_limit = 0
Mailbox_transport = lmtp:unix:/ var / run / cyrus / socket / lmtp
mydestination =本地主机 
myhostname =本地主机
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
myorigin = / etc /邮件名
readme_directory =否
receive_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

为什么忽略我的别名?

Answers:


19

本地别名进入

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

alias: destination。之后运行newaliases


我收到警告:“警告:/ etc / aliases,第3行:名称必须是本地名称”。我在/ etc / aliases中添加了条目“ user@mydomain.com:user”。用户不是计算机上的用户,而是Cyrus邮箱/用户。
尼克

2
不,正确的格式是用户:otheruser @ domain.com,localuser
David Rickman 2010年

好的,更改了格式,警告消失了,但是邮件仍在弹跳。我收到“ 550邮箱未知”信息。
尼克

Fetchmail似乎正在接受该邮件,并尝试将其发送给Cyrus,但现在Cyrus正在将其退回。我以为postfix不会以正确的别名发送它吗?还是Cyrus需要它自己的别名表?
尼克

我将其标记为已解决,并为赛勒斯问题创建一个新问题,因为从技术上讲这是一个不同的问题。
尼克

0

刚遇到这个问题...发现奇怪的是我的问题与赛勒斯无关...

因为我可以直接提供包括“ +”地址的地址,但是别名地址被拒绝了。

因此,直到我弄清楚如何关闭扩展或将其更改以删除[myhost]时,解决方法是在别名文件[myalias@mydomain.tld]中进行扩展,而不是在[myalias]中进行扩展,最后我发现显示FQDN的日志时才发现而不只是我以前在sendmail中使用的域。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.