ログ
to=<[email protected]>, relay=none, delay=21311, delays=21301/0.04/10/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=localdomain type=MX: Host not found
OS:FreeBSD
Postfixクライアントで次のコマンドを実行すると、解決します。 mail.p.example.comはpostfixサーバーをホストし、メールをgmail smtpにリレーします。
Host -t MX p.example.com
p.example.com mail is handled by 10 Host.p.example.com.
私は自分のPostfix構成を別のホストで動作している構成と比較し、それらは同じです。
inet_protocols = ipv4
mynetworks_style = Host
inet_interfaces = loopback-only
relayhost = $mydomain
上に貼り付けたものよりも構成には多くありますが、dnsに関連するものはありません。 smtp_Host_lookupが設定されていません(デフォルト値= dns)。
/ var/spool/postfixの下にresolv.confファイルがありません。 postfixがDNSレコードを解決する方法についての指示があれば幸いです。
hostname -f
は、ホストでFQDNを解決していなかったため、問題が発生していました。ショートネームに解決する唯一の方法です。 Postfixクライアントが動作しているホストでは、FQDNへの解決
ホスト名はすでに/etc/rc.conf.d/hostnameに設定されています。ホスト名サービスを再起動する必要がありました。誰かが構成管理ツールを使用する代わりにコマンドを実行して手動でホスト名/ドメイン名を設定したと思います。
ああ、今問題は明白です:
relayhost = $mydomain
すべてのメールをlocaldomain
に設定されている$mydomain
に配信するようにPostfixを設定しました。
説明では、メールをGmailにリレーするつもりだったので、relayhost
を appropriate Googleホスト名に設定する必要があります。例:
relayhost = [smtp-relay.gmail.com]:25
または
relayhost = [smtp-relay.gmail.com]:587
sMTP認証を使用している場合、smtp_sasl_password_maps
はGmailの認証情報を含むファイルを指す必要があります。