VerifyとTwilio SendGridによる、メール認証の送信
以下は、アカウントを設定し、VerifyとSendGridを使用して認証メールを送信するためのチェックリストです。各ステップの詳細な手順は以下のとおりです。
- [SendGrid] SendGridアカウントを作成するか、既存のアカウントにログインする
- [SendGrid] SendGrid APIキーを作成する
- [SendGrid] ドメイン認証をセットアップする
- [SendGrid] メールテンプレートを作成する
- [Verify] Verifyサービスを作成する
- [Verify] メール連携を作成し、Verifyサービスに接続する
- [Verify] メール認証コードを送信する
- [Verify] メール認証コードを確認する
ステップ1~6の初期構成を実行するのは、1回のみです。その後は、メールが構成されたVerifyサービスを使用し、APIを介し認証メールを送信できます。
SendGridアカウントを設定する
SendGridアカウントを作成するか、すでにお持ちのアカウントにログインします。メール認証では、SendGridのトランザクションメールAPIを使用します。
SendGrid APIキーを作成する
次に、APIまたはSendGridダッシュボードを使用し、SendGrid APIキーを作成します。
SendGrid APIキーを生成するときは、制限付きスコープを設定してください。
APIキーを作成するには、次の2つの方法があります。
オプション1:SendGrid APIを使用してAPIキーを作成します。
オプション2:SendGrid UIでAPIキーを作成します。権限には["Restricted Access"](制限付きアクセス)を選択し、次の制限付きスコープを選択します。
SendGrid APIキーを保存します。認証メール連携を設定する際に必要になります。
ドメイン認証を設定する
ドメイン認証では、"via sendgrid.net"を使用せずに、自社のドメインからメールを送信できます。ドメイン認証を設定する方法については、SendGridのドキュメントをご覧ください。その後、SendGridダッシュボードでドメインを認証してください。
DNSレコードを設定後、レコードが反映されるまで最大48時間かかる場合があります。反映されるのをお待ちください。
メールテンプレートを作成する
SendGridダッシュボードに移動し、新しいテンプレートを作成します。動的なテンプレートの操作に関する詳細は、SendGridのドキュメントをご覧ください。
以下に示す最初の3つの変数のうち少なくとも1つを使用し、メールテンプレートにVerifyコードを含めてください。
使用可能な変数 | 説明 |
{{twilio_code}} | 4~10桁の数字によるワンタイムパスコードです。OTPのみであり、説明テキストはありません。 |
{{twilio_message}} | 国際化された説明テキストとOTPの両方が含まれます。例: "Your MyServiceName verification code is: 123456" や"Su codigo de verificacion para MyServiceName es:123456"など。デフォルトの言語は英語ですが、localeパラメーターを使用して言語を上書きできます。 |
{{twilio_message_without_code}} | 国際化された説明テキストのみが含まれます。例: "Your MyServiceName verification code is" や"Su codigo de verificacion para MyServiceName es"など。 |
{{twilio_service_name}} | [オプション]サービスのフレンドリー名。 |
テンプレートのサポートが必要な場合堅牢でレスポンシブなデザインを実現するためにSendGridが無償提供するトランザクションメールテンプレートのオープンソースライブラリーを確認するには、こちらにアクセスしてください: https://sendgrid.com/blog/open-source-transactional-email-templates/
変数を使用したSendGrid HTMLテンプレートの例
<html>
<head>
<style type="text/css">
body, p, div {
font-family: Helvetica, Arial, sans-serif;
font-size: 14px;
}
a {
text-decoration: none;
}
</style>
<title></title>
</head>
<body>
<center>
<p>
例 1 - コードのみ(メッセージはローカライズされない)
</p>
あなたの認証コード: <strong>{{twilio_code}}</strong>
例2 - 認証確認を起動するクリック可能なリンクでコードを使用する
<p>
<a href="https://your-company.com/signup/email/verify?token={{twilio_code}}"
style="background-color:#ffbe00; color:#000000; display:inline-block; padding:12px 40px 12px 40px; text-align:center; text-decoration:none;"
target="_blank">今すぐメールを確認する</a>
</p>
<p>
例3 - すべてのメッセージとコードをローカライズする
</p><p><a href="https://sendgrid.com/blog/open-source-transactional-email-templates/">他のテンプレートを確認する</a></p>
<span style="font-size: 10px;"><a href=".">メール設定</a></span>
</center>
</body>
</html>
次のようなメールが生成されます。
このようなトランザクションメールでは、「"unsubscribe"」(配信停止)ではなく「"email preferences"」(メール設定)を使用してください。詳しくはこちら:トランザクションメールのメッセージに配信停止リンクを入れるべきか?
メールの配信機能に関する詳細についてはこちら
- IPアドレスのウォームアップ
- IPウォームアップのメールガイド
- DMARCについてI
- DMARCについてII
Verifyメール連携を作成する
Twilio Verifyコンソールの[Email Integration](メール連携)セクションに移動した後、赤色のボタンをクリックし、新しい連携を作成します。連携に名前を付けます。この名前は後で変更できます。次の内容を入力します。
メール連携をVerifyサービスに接続するには、次の2つの方法があります。
オプション1: メール連携から、そのメール連携に関連付けるサービスをオンにします。1つのメール連携を複数のサービスに使用できます。
または
オプション2: Twilio ConsoleのVerifyサービスの設定タブから、メール連携を選択します。Verifyサービスごとに設定できるメール連携は1つのみです。
メール認証を送信する
ここからが本番です。次のコードで最初のメール認証を送信します。
デフォルトのテンプレートID、デフォルトの送信者名、デフォルトの送信元メールは、チャネル構成で上書きできます。
チャネル構成では、SendGridのSubstitutionsもサポートしています。
メール認証を確認する
メール認証トークンの確認には、SMSや音声など他のチャネルと同じコードを使用します。
サポートが必要ですか?
コーディングに関するご質問、ご不明点等ございましたら、お問い合わせからご連絡いただくか、TwilioのStack Overflow Collectiveにアクセスいただくか、Stack OverflowサイトでTwilioタグを検索してください。