web-dev-qa-db-ja.com

「私の非修飾ホスト名(foo.bar)が不明」問題

sendmailを起動するか、 wordpressプラグイン を使用してメールを送信しようとすると、maillogに次のエラーが表示されます。

"My unqualified Host name (foo.bar) unknown; sleeping for retry"

Googling の後の最良のアドバイスは、「foo.barを/ etc/hostsファイルに追加する」ことでしたが、すでに次のようになっています。

127.0.0.1     localhost localhost.localdomain
127.0.0.1     foo.bar
33
rjstelling

単に変更:

127.0.0.1     localhost localhost.localdomain
127.0.0.1     foo.bar

これに

127.0.0.1     localhost localhost.localdomain foo.bar

Sendmailは完全修飾ドメイン(FQDN)名を探し、単一行バージョンでlocalhost.localdomainを使用します。

52
rjstelling

@rjstellingが示唆するようにホストファイルにドメインを追加するだけで、メールはsentのみが許可されますが、誰かの受信トレイに届くことはほとんどありません。

スパムのフラ​​グが立てられていないメールを送信するには、受信サーバーが配信の試行を終了したり、メッセージをドロップしたりするだけではなく、実際の登録済みのメールを使用する必要がありますDNSとMXレコードが機能するドメイン名。

そして、それは [〜#〜] fcrdns [〜#〜] またはダースのいずれに対しても何も言わないことですほとんどの場合、実際に電子メールが受け入れられる可能性のあるサーバーを実行するために行う必要があること。 [インターネットの神々がほんの少しでも微笑みかけるとしたら]正解は、おそらく自分のメールサーバーを稼働させてはならないということです。 SendGrid、MailChimpなどのメールサービスを調べます。

1
Sammitch

受け入れられた答え:

    127.0.0.1   localhost localhost.localdomain foo.bar

動作しているようですが、/var/log/syslogでエラーが発生します:

    sendmail[11655]: gethostbyaddr(192.168.1.123) failed: 1

しかし、ただ去る

    127.0.0.1   localhost

/etc/hostsの2行目を削除すると、mailを送信できるようになり、エラーは発生しません。

更新:Sudo ...whatever..を実行すると、メッセージSudo: unable to resolve Host foo.barが表示されますが、何の影響もないようです。

ところで、再起動せずにホスト名サービスを再起動するには:

    systemctl restart systemd-hostnamed

Ubuntu 16.04の場合、/etc/hostsの編集後にmailが機能する必要はありません。

1
user507226