SendGrid 新人成長記 第二回 Web APIを使ってメールを送ってみた

新人成長記 第二回

こんにちは、SendGridチーム新人の吉田です。前回の投稿に引き続き、素人目線でSendGridを学んでいく連載の第二回をお送りします。今回は、SendGridを使ったメールの送信に挑戦しました。

SendGridが提供しているメール送信方法にはいくつか種類がありますが、今回はWeb APIを使ってみたいと思います。Web APIとは、サービス(ここではSendGrid)の機能をWebを通じてプログラミングやコマンドなどで操作するための仕組みです。Web APIを用いたメール送信は、例えばユーザのアクションに対して自動配信するメールに利用されます。

私はこれまでGmailなどメールクライアントを使ったメールのやりとりしか経験がなかったため、それ以外の方法でメールを送るイメージが全く浮かばなかったのですが、やってみると意外と簡単にメールを送信することができました。

1. APIキーの作成

Web APIを使うためには、それを使うユーザの認証が必要になります。SendGridでは「APIキー」を設定します。SendGridにログインして、以下のような手順で作成します。

① SendGridのダッシュボードの左側のメニューにある“Settings”から“API Keys”を選択します。
② 右上の”Create API Keys”という青いボタンをクリックします。

Create API Keysをクリック

③ “Create API Key”という画面が表示されたら、適当な名前を“API Key Name”に入力します。
④ “API Key Permission”で“Restricted Access”を選択します。
⑤ 下にスクロールして、“Access Details”の中の“Mail Send”の項目を“Full Access”に変更します。
※④と⑤はAPIキーにどのような権限を持たせるかを設定するもので、今回はメール送信だけできるようにしています。
⑥ 一番下の“Create & View”という青いボタンを押します。

Create & Viewをクリック

⑦ 最終的に“API Key Created”という画面が表示されます。この”SG”から始まる長い文字列がAPIキーです。文字列をクリックするとクリップボードにコピーされます。APIキーはこの画面を閉じると二度と表示されないので、コピーしてどこかに貼り付けておきます。

APIキー

2. Web APIでメール送信

それでは実際にメールを送ってみましょう。まず、下の図に示したSendGridの英語版サイトのAPIリファレンスにアクセスします。ここには、Web APIの一覧と利用可能なパラメータの説明が書かれています。メール送信の手順は以下の通りです。

① 左側の“MAIL SEND”をクリックします。
② Mail Sendページの少し下にあるTry it outタブを選択します。Try it outタブでは、Definitionタブで定義されたパラメータを用いて実際にメール送信ができます。

Try it outを選択

③ 下図に示したように、“Headers”でAPIキーを指定します。
④ “Request Body”でメール送信に必要なパラメータを指定します。すでに入力されているものを消して、下の「パラメータ例」のように入力します。このとき“<<YOUR_ADDRESS>>”の部分を自分で受信が確認できるメールアドレスに変えます。
⑤ “SEND REQUEST”ボタンを押します。
その下の“Response”のところに“202 Accepted”と表示されれば、メール送信のリクエストがSendGridに送られたことになります。実際にメールが届いたか確認してみましょう。

メール送信のリクエスト

パラメータ例:

{
    "personalizations": [
        {
            "to": [
                {
                    "email": "<<YOUR_ADDRESS>>"
                }
            ],
            "subject": "Hello, World!"
        }
    ],
    "from": {
        "email": "from_address@example.com"
    },
    "content": [
        {
            "type": "text/plain",
            "value": "Hello, World!"
        }
    ]
}

メール送信に必要なのは、たったこれだけです!Try it out機能があるおかげで簡単すぎて狐につままれた気分ですが、基本的にはメールを送りたいという指示をパラメータ付きで出してあげればよいということがわかりました。プログラムでメールを送信するということの意味が少し理解できたように思います。

次回は、Web APIについてもう少し深く学んでいきたいと思います!