Postfix:メールエイリアスを機能させるには?


11

ドキュメントには、ファイル(/ etc / postfix / virtusertableなど)にエイリアスを追加し、「virtual_maps」ディレクティブを使用してそれを指すことができると記載されています。ただし、これは機能していないようです。

私のメールは次のように返送されます:

Recipient address rejected: User unknown in local recipient table;

mailコマンドを使用してサーバーからユーザーにメールを送信すると、機能します。

mail myuser

メッセージはpostfixを通過し、Cyrusの受信トレイに正しく挿入されます。

fetchmailを使用してpop3サーバーからユーザーのメッセージを取得すると、postfixが失敗します。ユーザーのメールは「myuser@mydomain.com」ですが、cyrusメールボックス名の「myuser」に正しくマッピングされていないようです。



/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



/ etc / fetchmailrc

et syslog;
デーモン20を設定します。

「mail.pop3server.com」をポーリング
プロトコルpop3
ユーザー「myuser@mydomain.com」のパスワード「12345」は「myuser」です
フェッチオールキープ



/ etc / postfix / virtusertable

myuser@mydomain.com     myuser



postconf -n

alias_database = hash:/ etc / aliases
alias_maps = hash:/ etc / aliases
append_dot_mydomain = 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 =はい
virtual_alias_domains = mydomain.com

なぜ私のエイリアスを無視するのですか?

回答:


19

ローカルエイリアスが入ります

alias_database = hash:/etc/aliases(ではない/etc/postfix/virtusertable)次の形式:

alias: destination。その後、実行しnewaliasesます。


「警告:/ etc / aliases、3行目:名前はローカルである必要があります」という警告が表示されます。エントリ「user@mydomain.com:user」を/ etc / aliasesに追加しました。ユーザーはマシン上のユーザーではなく、Cyrusメールボックス/ユーザーです。
Nick

2
いいえ、正しい形式はuserです。anotheruser@ domain.com、localuser
David Rickman

OK、フォーマットを変更して警告は消えましたが、メールはまだバウンスしています。「550-Mailbox unknown」が表示されます。
Nick

Fetchmailがメッセージを受け入れ、それをCyrusに送信しようとしているようですが、Cyrusが返送しています。Postfixが正しいエイリアスで送信していないと思いますか?または、Cyrusは独自のエイリアステーブルを必要としますか?
Nick

技術的には別の質問なので、これを解決済みとしてマークし、Cyrusの問題に対する新しい質問を作成します。
Nick

0

ちょうどこの問題に遭遇しました...そして奇妙なことに私の問題はサイラス関連ではないことがわかりました...

「+」アドレスを含む直接配信は可能でしたが、エイリアスアドレスが拒否されていました... FYI発見したのは、エイリアスアドレスが書き換えられていることです[myalias]は[myalias@myhost.mydomain.tld]になりました

したがって、拡張をオフにする方法を変更するか、[myhost]をドロップするように変更する方法を見つけるまで、回避策は、[myalias]ではなくエイリアスファイル[myalias@mydomain.tld]で拡張することで、最終的にFQDNを示すログに気がついたsendmailで使用していたドメインだけでなく、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.