ZabbixからSendGrid経由でメール送信してみた
Azure上に構築したZabbixサーバから、Send Grid経由でメール送信を行ってみました。
AzureではSMTP25番ポートを利用した通信(インターネット向け)が禁止されています。Azure上からのメール送信はSend Grid等の利用が推奨されております。
Azure でのアウトバウンド SMTP 接続に関する問題のトラブルシューティング(公式サイト)
事前にAzureでSendGridアカウント作成済みである事を前提に作業を進めます。作成手順はこちらに記載しております。
Azure ネットワークセキュリティグループの許可設定
SendGridを利用するにあたって、NSG(ネットワークセキュリティグループ)の許可設定を行います。まずはSendGrid様のサイトで必要な情報を確認します。
以下のように記載があります。
- サーバ名 :smtp.sendgrid.net
- ポート番号 :25 / 465 / 587 / 2525
平文もしくはTLSを利用する場合:25、587および2525(587を推奨)
SSLを利用する場合:465
送信先をInterNetで開けても良いのですが、今回は送信先サーバとなるsmtp,sendgrid.netのみ許可としてみます。NSGはFQDNでの許可設定が出来ませんので、nslookupコマンドでIPを調べます。
Windows端末のコマンドプロンプトで、下記の通りnslookupコマンドでsmtp.sendgrid.netのIPアドレスを確認します。
確認したIPアドレスをNSGの許可設定します。メール送信する(今回はZabbixサーバのNSG)を確認します。送信のセキュリティ規則で、宛先のIPアドレスを先ほど確認した入力します。
ポート番号は、今回はSSLを利用しますので、465を利用します。
追加をクリックしてNSGの設定は完了です。
ZabbixでMail送信設定
以前作成したZabbixサーバを利用して、メール送信確認を行ってみました。Zabbixサーバの構築手順はこちらに記載しております。
Zabbixのログインし、メディアタイプを選択します。
メディアタイプが表示されますので、下記のEmailをクリックします。
Emailをクリックすると、設定画面が表示されますので設定を行います。
-
- 名前;適時設定下さい(デフォルトのEmailのままで問題ないです。)
- タイプ:メール
- SMTPサーバ:smtp.sendgrid.net
- SMTPサーバポート:465(今回はSSL利用する為)
- 送信元メールアドレス;適時設定下さい。
- 接続セキュリティ:SSL/TLS
- 認証:ユーザー名とパスワード
- ユーザー名:SendGridのユーザー名
- パスワード:SendGridのパスワード
更新ボタンをクリックすると、設定が完了します。
これで設定が終わりましたので、テストメール送信を行います。メディアタイプの画面でテストの項目が表示されていますので、こちらをクリックします。
クリックするとテスト画面が表示されます。送信先のメールアドレスを設定しテストボタンをクリックします。
テストメールが送信されますので、メールソフト側で受信される事が確認されたら終わりです。
※なお、逆引き設定等がされてない状態ですので、メール受信環境によっては受信できないケースがります。この点は注意して下さい。