ZabbixからSendGrid経由でメール送信してみた

 

今回は、Azure上に構築したZabbixサーバから、Send Grid経由でメール送信を行ってみました。

なお、Send Gridアカウントの作成については、こちらの記事を参照ください。

AzureでSend Gridのアカウントを作ってみた

なお、AzureではSMTP25番ポートを利用した通信(インターネット向け)が禁止されています。Azure上からのメール送信はSend Grid等の利用が推奨されております。

https://docs.microsoft.com/ja-jp/azure/virtual-network/troubleshoot-outbound-smtp-connectivity

1.Azure ネットワークセキュリティグループの許可設定を行う。

SendGridを利用するにあたって、NSG(ネットワークセキュリティグループ)の許可設定を行います。まずはSendGrid様のサイトで必要な情報を確認します。

https://support.sendgrid.kke.co.jp/hc/ja/articles/204187885-SMTPの接続情報を教えてください-

以下のように記載があります。

  • サーバ名    :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の設定は完了です。

2.Zabbix上で、Mail送信設定を行う。

以前作成したZabbixサーバを利用して、メール送信確認を行ってみました。Zabbixサーバの構築手順は下記記事を見て頂ければと。

Zabbix5.0をAzure Database for MariaDB を使って構築してみた

Zabbixのログインし、メディアタイプを選択します。

メディアタイプが表示されますので、下記のEmailをクリックします。

Emailをクリックすると、設定画面が表示されますので設定を行います。

    • 名前;適時設定下さい(デフォルトのEmailのままで問題ないです。)
    • タイプ:メール
    • SMTPサーバ:smtp.sendgrid.net
    • SMTPサーバポート:465(今回はSSL利用する為)
    • 送信元メールアドレス;適時設定下さい。
    • 接続セキュリティ:SSL/TLS
    • 認証:ユーザー名とパスワード
    • ユーザー名:SendGridのユーザー名
    • パスワード:SendGridのパスワード

更新ボタンをクリックすると、設定が完了します。

これで設定が終わりましたので、テストメール送信を行います。メディアタイプの画面でテストの項目が表示されていますので、こちらをクリックします。

クリックするとテスト画面が表示されます。送信先のメールアドレスを設定しテストボタンをクリックします。

テストメールが送信されますので、メールソフト側で受信される事が確認されたら終わりです。

※なお、逆引き設定等がされてない状態ですので、メール受信環境によっては受信できないケースがります。この点は注意して下さい。

 

AzureでSend Gridのアカウントを作ってみた

 

AzureではSMTP25番ポートを利用した通信(インターネット向け)が禁止されています。

https://docs.microsoft.com/ja-jp/azure/virtual-network/troubleshoot-outbound-smtp-connectivity

Zabbix等の監視サーバ等を構築した場合Send Gridを利用してメール送信する必要があります。

今回はAzure上からメール送信を行う為の下準備として、Azure上にSend Gridアカウントの作成してみました。(Zabbixを使ったメール送信は次回記事で試しております。)

1.Azure上でSend Gridアカウントを作成する

まず、Azure PortalでSendGridと入力します。サービスにSendGrid Accountsが表示されますので、これを選択します。

SendGrid Accountsで追加をクリックします。

Create SendGrid Accountの画面に遷移します。作成するリソースグループ名や場所(リージョン)、Azure Portal上での表示名、SendGrid Accountのパスワードを入力します。

このパスワードはメール送信時の認証に利用されます。 PricingTierはFreeを選択します。(SendGrid Accountのユーザー名は別途払い出しされます。)

画面下の方では、連絡先の情報入力になります。氏名やメールアドレス、会社名、webサイトを入力します。(Emailアドレスは、確認メールが来ますので、受信可能なアドレスを入力します。)

TAGを設定しない場合は、そのままReview+Createをクリックすると確認画面が表示されます。修正点が無ければ、Createで作成するとアカウントが作成されます。

アカウントが作成されますと、設定したメールアドレス宛に、確認メッセージが来ます。リンクをクリックして承認すればアカウントが利用できるようになります。

2.Azure上で作成されたSend Gridアカウントを確認する

先ほど作成したアカウントを選択します。下記画面が表示されますので、

SendGridの画面が表示されます。Account Detailsをクリックします。

Account Detailsでアカウントの情報が確認できます。表示されているユーザー名とSendGrid Account作成時に設定したパスワードでメール送信時の認証に利用します。

上記画面のTime Zone表示の右端の編集ボタンをクリックすると下記画面が表示されます。TimeZoneを時間を日本時間に変更します。

これで作成したアカウント情報の確認は終了になります。

実際のZabbixサーバを利用したメール送信は下記記事に記載しております。併せて見て頂ければと。

ZabbixからSendGrid経由でメール送信してみた

※セキュリティ的な観点を考えると、ユーザー名もデフォルトから変更する事が望ましいと思われます。適時変更するようにします。