監視用にnagios
とメール送信用にsendmail
をインストールしました。 root
アカウントからテストするとき、メールを受信していますが、nagios
アカウントから送信するときにメールを受信していません。グーグルで検索したところ、root
ユーザーのみがsendmail MTA
を使用してメールを送信できます。 sendmail
アカウントからメールを送信するためにnagios
を有効にする方法
ローカルマシンから直接メッセージを送信するのではなく、ISP /プロバイダーリレーを使用することに注意してください。次のログは、nagios@
からのメッセージではなく、root@
からのメッセージではなく、リレーからのエラーを示しています。
cat/var/log/maillog
Sep 19 15:52:32 ubuntubackup-chennai sendmail[6088]: q8JAMWXZ006088: from=nagios, size=237, class=0, nrcpts=1, msgid=<[email protected]>, relay=nagios@localhost
Sep 19 15:52:32 ubuntubackup-chennai sendmail[6089]: q8JAMWCn006089: from=<[email protected]>, size=517, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Sep 19 15:52:32 ubuntubackup-chennai sendmail[6088]: q8JAMWXZ006088: to=karthick.murugadhas@****.com, ctladdr=nagios (496/492), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30237, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8JAMWCn006089 Message accepted for delivery)
Sep 19 15:52:32 ubuntubackup-chennai sendmail[6091]: q8JAMWCn006089: to=<karthick.murugadhas@****.com>, ctladdr=<[email protected]> (496/492), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=120517, relay=smtp10.netcore.co.in. [202.162.229.32], dsn=4.7.1, stat=Deferred: 450 4.7.1 <nagios@****.com>: Sender address rejected: Please checked sender domain
cat/var/log/maillog
Sep 19 15:43:29 ubuntubackup-chennai sendmail[5158]: q8JADTt2005158: from=root, size=237, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Sep 19 15:43:29 ubuntubackup-chennai sendmail[5159]: q8JADTFO005159: from=<[email protected]>, size=511, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Sep 19 15:43:29 ubuntubackup-chennai sendmail[5158]: q8JADTt2005158: to=karthick.murugadhas@****.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30237, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8JADTFO005159 Message accepted for delivery)
Sep 19 15:43:30 ubuntubackup-chennai sendmail[5161]: q8JADTFO005159: to=<karthick.murugadhas@****.com>, ctladdr=<[email protected]> (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=120511, relay=smtp10.netcore.co.in. [202.162.229.32], dsn=2.0.0, stat=Sent (_SMR_smtp9.netcore.co.in Ok: queued as 29CE7F6D4C)
sendmail.mc
構成ファイルは ここ です
編集:SMTPリレーの広範な手動尋問の後、問題はリレーがnagios@
を送信者として明確にブロックしている可能性があるようです:
[izx.I5]? telnet smtp10.netcore.co.in 25 220 ESMTP EHLO ********。com ... MAIL FROM:nagios @ ********。com 250 2.1.0 Ok RCPT TO:karthick @ ********。com 450 4.7.1:送信者アドレスが拒否されました:送信者ドメインを確認してください quit 221 2.0.0 Bye 外部ホストによって接続が閉じられました
nagios@****.com
メールボックスは存在しますか? nagios
を単に書き換えてみてください。 nagios1
?
これを行うには、/etc/sendmail.mc
に以下を追加します。
FEATURE( `genericstable ')dnl GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl
ファイル/etc/mail/genericstable
を作成し、次の行を追加します。
nagios nagiosk
および/etc/mail/generics-domains
および行を追加します。
localhost localhost.localdomain
次に、Sudo sendmailconfig
を実行して、再試行します。
問題は、netcore.co.in
でのSMTPリレーのようです。ホスティング/ ISP SMTPリレーは決して「オープン」ではなく、通常は「自分の」ドメインの1つと「自分の」IPの1つからのメールのみをリレーするように設定されます。 root@localhost
からのメールはおそらく、一部のメールサーバーデーモンがrootを認識して例外を作成するため、場合によっては@localhost
部分を逆DNS(またはIP)送信者は(たとえば、私のメッセージは[email protected]
の形式で一度通過したことがあります)。 「nagios @ localhost」ユーザーにはそのような礼儀はありません。
2つのソリューション:
簡単な方法は、sendmail FQDN をNetcoreが認識/許可するものに設定(または偽造)することです。
これを行うには、/etc/mail/sendmail.mc
を開き、MAILER
行の前にこれらの行を追加して、適切に変更します。
MASQUERADE_AS( 'karthick.com') FEATURE( `masquerade_envelope ')
次に、Sudo sendmailconfig
を実行し、すべてにyesと応答して、sendmailが再起動されることを確認します。リレーのためのマスカレードSendmailの基本的な情報については、 here を参照してください。
あるいは、完全を期すために、nagios @ localhostを使用し続けるには、次の2つのことのいずれかを実行できます。sendmailでリレーを無効にし、直接使用します(静的IP/PTRレコードまたはRDNS)、OR NetcoreリレーでSMTP認証を実行するようにsendmailをセットアップできます。
これらのNetcoreの記事は役に立つかもしれません。可能であれば、彼らに尋ねることもできます:
まず第一に:Web arroundを確認し、ログを見ると、ユーザーnagiosの問題ではなく、むしろsendmailの構成に関する問題。
より正確に言うと、 このフォーラムのユーザー は、似た450 error code
(後置を使用していましたが、何らかのプロトコルがあると想定しています)を取得することを提案します。また、domain not found
の問題を示します。同じフォーラムの別のユーザーを引用するには:
これは通常、送信者アドレスが存在しないドメイン用である場合の電子メールクライアントの設定ミスが原因です。あなたのドメインが新しいドメインである場合、受信者のメールサーバーがDNS伝播にまだ追いついていない可能性もあります。
送信者ドメインとしてlocalhostを使用している間、私はまだ世話をすることができるより多くがあると信じています。
実際のところ、 私がつまずいた別のフォーラムの別のユーザー 、あるようです最初にリンクしたフォーラムのユーザーと同様の問題で、彼も同じエラーを受け取りますコード:450
。同じフォーラムで別のユーザーが引用されており、これもDNSの問題であると示唆しています。
重要:特定のドメインではなくlocalhostを使用していることを認識しています。 しかし、私にとっては、それはser nagios権利などを持たないというよりも、sendmail
プログラムの設定ミスの問題に違いないと思われます。
私が現在研究している他のソースもいくつか見つけました。問題に関する情報が増えれば、この回答を更新し続けます。
[編集#1]:別のフォーラムの別のユーザーは、次のように言っています :
[email protected]から送信しているように見えますが、受信サーバーがこのアドレスで逆引きを行うと、有効ではないため失敗し、指定したエラーでメールが正しく拒否されます。サーバーの有効なサーバー名/ドメインがあり、DNSで前方と後方の両方で検索できることを確認してください。
ただし、そこで質問するユーザーは、450 error code
に直面していないようです。しかし、彼はこれまでにinterwebzで見たものに対して同様の答えを得る。
[編集#2]:あなたの問題について読めば読むほど、それを理解します。それは、nagios@localhost
のように選択したようですメールを送信するドメインが有効なIPアドレスに解決されず、それがsmtp10.netcore.co.in
サーバーが450 domain not found
応答で応答する原因となります。メールがスパムであると思われるためです:
はい、「reject_unknown_sender_domain」は多くの誤検知を引き起こす可能性がありますが、スパムを削減します。
最も可能性の高い修正は、解決可能なドメインを使用していることを確認することです
私のnagios設定では、メールを送信するためのコマンドは
/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
コマンドラインからユーザーnagiosとしてメールを送信できる場合は試してください:
su nagios
echo "test sendmail" | /usr/bin/mail -s "test" [email protected]
これは、不正なパス、アクセス権、またはメールサーバーが宛先アドレスを受け入れないために失敗する可能性があります。テスト結果を掲載してください。
Sendmailはちょっと古いです。一部の人々はこれをこれまでに書かれた最高のメールサーバーと考えていますが、個人的にはあまり楽しんでいません。
ローカルユーザーアカウントから「外部」メールアドレスにメールを送信するための私の組み合わせは、postfix
とbsd-mailx
です。
試してみたい場合:Sudo apt-get install postfix bsd-mailx
。
このホストでメールを受信したくない場合は、ローカルホストにバインドすることで、Postfixをもう少し安全にすることができます。 Sudo postconf -e 'inet_interfaces = localhost' && Sudo service postfix restart
を実行します。