sendmail は SMART_HOST を無視します。

sendmail は SMART_HOST を無視します。

独自のDNSサーバーを持つ内部ネットワークがあります。インターネットにアクセス可能な一部のサーバーを除いて、このネットワークではインターネットアドレスは解決されません。

インターネットにアクセスできるサーバーの1つは、他のサーバーの中継ホストとして機能し、管理者に電子メール(レポート、ログ監視など)を送信できます。この中継サーバーにはインターネットで定義されている中継サーバーもありますが、関係はありません。 1つの奇妙な例外を除いて、これはかなりうまくいきます。

リレーホストを使用して、サーバーの1つにOracle Linux 8をインストールしました。通常は追加する必要があります。

define(`SMART_HOST', `relay_hostname')dnl

sendmail.mcに送信すると動作しません。リレーは使用できません。常に中継されますroot@localhost。少なくともそのように書かれています/var/log/maillog。私は[relay_hostname]relay:[relay_hostname]forSMART_HOSTおよび他のいくつかの構成設定を試しました。

私がテストしたとき

mail -s test [email protected]

電子メールログレポートは次のとおりです。

Aug 31 09:44:14 hostname sendmail[694964]: 17V9iE4L694964: [email protected], size=15, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Aug 31 09:44:14 hostname sendmail[694964]: 17V9iE4L694964: [email protected], delay=00:00:00, mailer=relay, pri=30015, dsn=4.4.3, stat=queued

この場合、メッセージはキューに入れられません。

私も以下を使ってメールを送ろうとしました。

(echo subject: test; echo) | /usr/lib/sendmail -Am -v [email protected] [email protected]

このコマンドで私は答えを得ました

internet-domain.com: Name server timeout
[email protected]... Transient parse error -- message queued for future delivery
[email protected]... queued

この場合、ログは実際には同じです。

Aug 31 11:42:43 hostname sendmail[698071]: 17VBghos698071: [email protected], size=15, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Aug 31 11:42:43 hostname sendmail[698071]: 17VBghos698071: [email protected], delay=00:00:00, mailer=relay, pri=30015, dsn=4.4.3, stat=queued

メッセージは sendmail コマンドを介してキューに追加されますが、永遠に残ります。

Internet-domain.com を確認できません。正解です。問題は、internet-domain.comを確認できず、この場合、sendmailがSMART_HOSTを使用しないことです。受信者の未確認ドメインに対してsendmailに常にSMART_HOSTを使用させるにはどうすればよいですか?無効な宛先アドレスを持つメッセージを拒否することはリピータの役割である必要があります。

CentOS 8 に同じ sendmail が設定されており、リレー経由で電子メールを送信できます。違いは、CentOS 8がインターネットドメインを確認できることです。


直す。インターネットドメインにメールを送信すると、sendmailはlocalhostをリレーとして使用するため、上記のようにどこにもメールを移動できません。

内部DNSを介して内部で確認できるドメインに送信すると、SMART_HOSTで定義された中継サーバーに送信されます。中継サーバーがこれを中継します。ただし、これは有効なインターネットドメインではなく、電子メールアカウントは存在しません。その結果、アドレスが誤って指定されたメッセージを配信できず、配信できないメッセージが添付されたレポートが届きました。


別のアップデート。追加したら

FEATURE(nocanonify)dnl

さんに/etc/mail/sendmail.mcいくつかのメールが届きました。有効なインターネットメールで送信してもまだ通過できません。ただし、mailコマンドでテストしているのと同じアドレスをroot指すエイリアスがあります。/etc/aliasesにメッセージを送信すると、rootエイリアスがメッセージをリダイレクトするため、メッセージが渡されます。この場合、インターネットEメールはsendmailを難読化せず、スマートホストがリレーに使用されます。このサーバーのルート管理メールのみが必要なため、これで十分ですが、問題はまだ完全に解決されていません。

/etc/エイリアス:

# Person who should get root's mail
root:       [email protected]

ベストアンサー1

しばらく前にCentOS 5で使用したことを覚えているソリューションを見つけました。しかし、最後に使用した以来、状況が大きく変わったと確信しているので、私にとってはそれほど重要ではないようです。私はそれが異なって行動したと確信していますが、解決策は同じです。

回避策は、次の行を追加(コメント解除)することです/etc/mail/submit.mc

define(`confDIRECT_SUBMISSION_MODIFIERS',`C')dnl

質問に記載されている次の/etc/mail/sendmail.mc行も試みの1つとして含める必要があると思います。

FEATURE(nocanonify)dnl

おすすめ記事