AzureでSendGridアカウントを作った後の設定

 

今回はAzureのSendGridアカウント作成後、SendGrid経由でメール送信するまでに必要となる設定を試してみました。

      • 今回実施した設定
        • SendGridメールアドレス確認
        • Single Sender(差出人)認証
        • apikeyの作成しPostfixで設定
        • ドメイン認証

以前はSingle Sender(差出人)やドメイン認証無しでも送信出来ていたのですが、2020年10月時点ではどちらか1つが必須になっています。

今回は、Azure上に構築したメールサーバ(Postfix)を利用して送信確認を実施しています。

設定にあたっては、以下のサイトを参考にさせて頂いております。有難うございます。

https://sendgrid.kke.co.jp/docs/Tutorials/index.html

SendGridアカウントの作成についてはこちらで試しております。

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

1.AzureのSend Gridアカウント作成後は最初にメールアドレス確認処理を行う

最初にSnedGridアカウント作成時のメールアドレス確認を行います。

1)Azure Portalで作成したSendGridアカウント選択します。SendGridアカウントの画面でManageを選択します。

2)SendGridの管理画面が表示されます。

作成したSendGridアカウントのメールアドレスの確認を要求されます。Send Confirmation Emailを選択し確認メールを送信します。

※最初にSnedGridの管理画面を開いた際に表示されます。

送信完了メッセージが表示されます。

3)送信先に指定したメールアドレスにSendGridから確認メールが来ますので、Confirm Email Addressをクリックします。

確認が完了するとSendGridの管理画面が表示されます。

これでSendGridメールアドレス確認は終わりです。次にSingle Sender(差出人)認証設定もしくはドメイン認証設定を行います。

2.Send Gridアカウント作成後にSingle Sender(差出人)で認証設定

メールアドレスの確認が終わると、認証設定になります。認証の方法には2つあるようです。

      • 認証方法
        • Single Sender(差出人)による認証
        • Domain Instead(ドメイン)による認証

まず、最初にSingle Sender(差出人)による認証を行います。

1)SnedGrid管理画面を開くと下記メッセージが表示されますので、Create a Single Senderを選択します。

2)Senderの作成画面が表示されますので設定します。

      • 設定項目(必須)
        • From Name:任意で設定
        • From Email Address:SendGrid経由で送信する差出人メールアドレス(送信者のメールアドレス)
        • Reply To:個別要件が無ければ、From Email Addressと同じとします。
        • Company Address:任意で設定
        • City:任意で設定
        • Country:任意で設定
        • Nicname:任意で設定

※注意点は、From Email Addressで設定したメールアドレスのみが認証となります。同じドメインでも違う差出人アドレスの場合は別途認証が必要になります。

Createを選択し作成されると下記画面が表示されます。VERIFIEDが×になっておりこの時点では認証が完了していません。

3)From Email Addressのメールボックスに確認メールが来ているのでVeryfy Single Senderをクリックします。

Senderでの認証が完了したことが表示されます。Return to Single Sender Verificationをクリックしステータスを確認します。

Single Sender Verificationが表示されます。

Verifiedのステータス見るとチェックがついており確認が完了している事が分かります。

これで、Single Sender(差出人)による認証が完了です。

3.SendGridでAPI Keyを発行、メールサーバ(Postfix)を使ってSendGrid経由の送信(SMTP)確認

SendGridのAPI Keyを利用してメールサーバ(Postfix)からSendGrid経由でメール送信してみます。

SendGridの送信の認証には大きく分けて2つです。

      • SendGrid送信時の認証方法(SMTP)
          • アカウントの認証情報(ユーザ名/パスワード)(Teammates機能で追加した認証情報を含む)
          • APIキー

なお、アプリケーションでの利用はAPI Keyの利用を推奨されています。

1)Integrate using our Web API or SMTP Relayを選択します。

2)SMTP Realyを選択します。

3)API Keyの発行を行います。API Key Nameに任意名前を設定し、Create Keyを選択します。

4)API Keyのパスワードが発行されます。このパスワードは認証に利用しますのでコピーして保管します。

5)メールサーバ(Postfix)を設定します。2つのファイルに追記します。

/etc/postfix/main.cf

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
relayhost = [smtp.sendgrid.net]:Port番号

/etc/postfix/sasl_passwd

[smtp.sendgrid.net]:Port番号 apikey:Password

ファイル編集が完了したら、postmap(postmap /etc/postfix/sasl_passwd)コマンド実行後に、Postfixのサービスを再起動します。

これでメールサーバ側の設定は完了です。

6)SnedGrid管理画面でVeryfy Integrationをクリックします。

7)先ほど設定したメールサーバ(Postfix)経由でメール送信を行います。

今回はSingle Sender(差出人)認証を利用していますので、From Email Addressに設定したメールアドレスから任意の送信先へメール送信します。

無事SendGrid経由で送信が完了すると下記画面が表示され設定が完了している事が確認出来ます。

SendGridのAPI Keyを使ってメール送信が出来るようになりました。

4.SendGridでドメイン認証設定

SendGridではSingle Sender(差出人)認証ではなくドメイン認証を行う事も可能です。

Single Sender(差出人)認証の場合、複数差出人が居ると複数認証設定を行う必要があります。ドメイン認証を利用する事によりドメイン単位での一括した認証設定が出来ます。

ただし、Single Sender(差出人)認証とは異なり、ドメイン認証の場合は認証するドメインのDNSで設定が必要になります。

1)認証設定画面でAuthenticate a domain insteadを選択します。

もしくは、SnedGrid管理画面にあるSender AuthenticationのメニューでDomain Authenticationを選択します。

2)Authenticate Your Domainの画面が表示されます。ドメインを管理するDNS hostを選択します。

brand the links for this domainはここでは設定しないのでNoを選択します

※Azure DNSはリストに無いのでOtherを選択します。

3)From Domainに認証するドメイン名を設定します。

4)Install DNS Recordsが表示されます。CNAMEのレコードが3つ表示されますので、ドメインを管理するDNSでCNAME設定を行います。

DNSの設定完了後に、Verifyをクリックします。

Azure DNSの場合は下記のように、CNAMEレコードの設定を行います。

DNSのレコードが正しく設定されていれば、下記の通りVerifiedの表示になります。

これでドメイン認証は完了です。

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

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

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を時間を日本時間に変更します。

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

Azure上でSendGridアカウント作成後の設定についてはこちらで試しています。

AzureでSendGridアカウントを作った後の設定

Zabbixサーバを利用したメール送信はこちらで試しております。

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

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