AzureでSendGridアカウントを作った後の設定
AzureでSendGridアカウント作成後からメール送信するまでに必要となる設定を試してみました。
-
-
- 今回実施した設定
- SendGridメールアドレス確認
- Single Sender(差出人)認証
- apikeyを作成しPostfixで設定
- ドメイン認証
- 2段階認証の設定
- 今回実施した設定
-
2020年10月時点ではSingle Sender(差出人)認証もしくはドメイン認証のどちらか1つが必須になっています。
2021年1月よりSend Gridのアカウントの2段階認証およびAPI Keyを使った送信が必要となっています。
今回は、Azure上に構築したメールサーバ(Postfix)を利用して送信確認を実施しています。
設定にあたっては、以下のサイトを参考にさせて頂いております。有難うございます。
SendGridアカウントの作成についてはこちらで試しております。
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(差出人)認証設定もしくはドメイン認証設定を行います。
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(差出人)による認証が完了です。
SendGridでAPI Keyを発行、メールサーバ(Postfix)を使ってSendGrid経由の送信(SMTP)確認
SendGridのAPI Keyを利用してメールサーバ(Postfix)からSendGrid経由でメール送信してみます。
SendGridの送信の認証には大きく分けて2つです。
-
-
- SendGrid送信時の認証方法(SMTP)
-
- アカウントの認証情報(ユーザ名/パスワード)(Teammates機能で追加した認証情報を含む)
- APIキー
-
- SendGrid送信時の認証方法(SMTP)
-
なお、アプリケーションでの利用は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を使ってメール送信が出来るようになりました。
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の表示になります。
これでドメイン認証は完了です。
Send Gridアカウントの2段階認証設定(2021年2月追記)
2021年よりSend Gridアカウントの2段階認証が必要になっていますので設定してみました。なお2段階認証の設定を行うとアカウントでメール送信できなくなりますので必ずAPI Keyを使った送信に変更してから実施して下さい。
1)Send Gridアカウントの管理画面にログインします。
2)2段階認証の設定画面が表示されますので、Ok, Go itで作成を進めます。
3)認証方法の設定画面が表示されます。今回はSMSで設定を進めます。
4)国コードを選択し、SMSを送信する電話番号(81+80XXXXXXXX) とを入力します。
5)設定した電話番号にSMSが来ますので、そこに表示されている7桁のコードを入力します。これで設定は完了です。
6)設定が完了したら2段階認証設定の画面に設定内容が表示されます。
Azure Automationアカウント RunbookでSend Gridを使ったメール送信も試しています。
Azure VM(Zabbixサーバ)を利用したメール送信はこちら。