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経由でメール送信してみた