アクションメールの送信に失敗する
お世話になっております。
イベントが発生した際に、アクションにてメールを
送信するように設定していますが、アクションが失敗し、
メッセージアクションに以下のエラーが出力されます。
[出力されるメッセージ]
---------------
cannot connect to SMTP server [localhost]: bind() failed: [22] Invalid argument
---------------
sendmailは起動しており、iptables、SELinuxも無効化しています。
また、/var/log/maillogには何も出力されていません。
sendmailが起動していること、iptables, SELinuxを
無効化していること、/var/log/maillogにエラーが
出力されていないことは確認できています。
また、以下の操作にてターミナルから手動でメールが
送信できることも確認できています。
[実行した操作]
----------------
# mail root@localhost
→ rootユーザにメールは問題なく届きます
----------------
メディアタイプ、ユーザは以下の通り設定しています。
[メディアタイプ]
-----------------
説明 :Email
タイプ :メール
SMTPサーバ :localhost
SMTP helo :localhost
送信元メールアドレス:zabbix@localhost
-----------------
[メディアタイプ]
-----------------
アカウント名:Admin
名前 :Zabbix
名字 :Administrator
パスワード :設定していません
グループ :Zabbix Administrators
メディア :Email root@localhost 1-7,00:00-23:59; NIWAHD 有効
-----------------
度重なる質問で大変恐縮ではございますが、
どのように対処すれば、アクションメールを
送信できるようになりますでしょうか?
TNK - 投稿数: 4769
ご参考までに、/etc/hostsにどのような記述をされているかを教え
て頂けませんか?
例えば、localhostに対する記述はどのようにされていますか?
OKB - 投稿数: 40
TNK様
お世話になっております。
/etc/hostsは以下の通りとなっています。
[/etc/hosts]
----------------------
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.209.135 PC
192.168.209.116 PC2
192.168.209.53 Zabbix server
192.168.209.53 localhost
----------------------
また、/etc/nsswitch.confのhostsの部分は以下の通りです。
[/etc/nsswitch.conf]
----------------------
hosts: files dns
----------------------
以上、よろしくお願い致します。
yanta1 - 投稿数: 15
localhost が IPv6 の方に接続しようとしているのではないでしょうか。
試しに、SMTPサーバー: 127.0.0.1 とするとどうでしょうか。
(追記)
192.168. の方に接続しているのかもしれません。
RedHat/CentOS系の sendmail はデフォルトでは 127.0.0.1:25 しか LISTEN していないので。
OKB - 投稿数: 40
yanta1様
お世話になっております。
sendmailがよくわかっていので、間違ったことを
質問していたら申し訳ございません。
>試しに、SMTPサーバー: 127.0.0.1 とするとどうでしょうか。
/etc/sendmail.cfの#SMTP daemon optionのAddrを127.0.0.1に変更するということでよろしいでしょうか?
/etc配下にsendmail.cfがなかったため、/etc/mail/sendmail.cfを確認しましたところ、Addr=127.0.0.1になっておりました。
[sendmail.cfの記述]
---------------
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
---------------
yanta1 - 投稿数: 15
いえ、Zabbixサーバー設定のメディアタイプの方です。
OKB - 投稿数: 40
yanta1様
お世話になっております。
メディアタイプを以下の通り変更しましたが、
先ほどとは違ったエラーが出力され、アクションに失敗しました。
[メディアタイプの変更]
------------------------
(変更前)
説明 :Email
タイプ :メール
SMTPサーバ :localhost
SMTP helo :localhost
送信元メールアドレス:zabbix@localhost
(変更後)
説明 :Email
タイプ :メール
SMTPサーバ :127.0.0.1
SMTP helo :localhost
送信元メールアドレス:zabbix@localhost
------------------------
[変更後に出力されるエラー]
------------------------
wrong answer on MAIL FROM [553 5.5.4 <zabbix@localhost>... Real domain name required for sender address ]
------------------------
yanta1 - 投稿数: 15
Zabbix からはかけ離れてしまいましたが。
sendmail が、mail from のドメイン名が不正とのことで拒否しています。
送信元メールアドレス: zabbix@localhost.localdomain
とか、正しいドメイン名にしてください。
TNK - 投稿数: 4769
他のプロダクトの障害事例でも、IPv6を有効にしている場合の問題
であったりするので、IPv6を利用されていないのであれば、IPv6を
無効にした方が良いかもしれません。
すでに、yanta1さんから回答を書いていただきましたが、
これなら、
送信元メールアドレス zabbix@localhost.localdomain
などメールアドレスのドメインの部分を「.」を含む形式に設定し
てみてください。
ご参考までに、CentOS 6.2(RHEL 6.2互換)上に、ZABBIX-JPが公開
しているZabbix 1.8.10のRPMをインストールして、以下の設定でメ
ールを送ることができています。
MTA:
CentOS 6.2標準のPostfix 2.6.6-2.2
Zabbix上のメディアタイプ「Email」
説明 Email
タイプ メール
SMTPサーバ localhost.localdomain
SMTP helo localhost.localdomain
送信元メールアドレス zabbix@localhost.localdomain
/etc/hostsの内容
<code>
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
</code>
OKB - 投稿数: 40
TNK様、yanta1様
お世話になっております。
以下の通り、localhost.localdomainに変更した結果、
メールが送れるようになりました。
ありがとうございました。