1. TOPTOP
  2. Webサービス
  3. SendGrid

SendGridでトランザクションメールを送信する方法(その2)〜curlコマンドでメール送信

sendgrid_tranzaction_mail_send_1_0

前回の記事(新しいタブで開く)ではSendGridのトランザクションメールを送信するために必要なAPIキーを作成しました。今回の記事ではそのAPIキーを使用して、macOSのターミナルからメールを送信する方法をご紹介します。

curlコマンドでトランザクションメールを送信する

macOSのターミナルからSendGridでトランザクションメールを送信するためには、UNIXコマンドの1つである、curlコマンドを使います。

curlコマンドとは

curlコマンドはサーバから、もしくはサーバへデータ転送を行うコマンドです。curlコマンドは、FTP・HTTP・HTTPS・SFTPなどさまざまなプロトコル(通信規格)に対応しているため、必然的にGETやPOSTなどのリクエストメソッドを使うことができます。

なおcurlコマンドについて詳細を知りたい方はこちらのページ(新しいタブで開く)をご覧ください。

curlコマンドの構文

curl --request POST \
  --url https://api.sendgrid.com/v3/mail/send \
  --header 'Authorization: Bearer API_KEYS' \
  --header 'Content-Type: application/json' \
  --data '{"personalizations": [{"to": [{"email": "hoge@gmail.com"}]}],"from": {"email": "fuga@gmail.com"},"subject": "Hello, SendGrid!","content": [{"type": "text/plain", "value": "Hello World form SendGrid!"}]}'

実際にcurlコマンドを使ってメールを送信するための構文です。SendGridのチュートリアル(新しいタブで開く)を参考にしています。ところどころに”\(バックスラッシュ)”が入っていますが、UNIXコマンドで長文を書くときのための改行する記号です。

sendgrid_tranzaction_mail_send_2_1

こんな感じでそのまま使っていただくとメールが送信されます。

任意の文字列・データ形式を入力するオプションについて

curlコマンドでメールを送信するために任意で記述する箇所があります。

1つめのheaderオプション

前回の記事で取得したAPI_Keyを入力してください。

dataオプション

JSON形式のデータを入力します。

{
    "personalizations": [
        {
            "to": [{"email": "hoge@example.com"}]
        }
    ],
    "from": {
        "email": "fuga@example.com"
    },
    "subject": "Hello, SendGrid!",
    "content": [
        {
            "type": "text/plain", 
            "value": "Hello World form SendGrid!"
        }
    ]
}

1行で続けて表記されていますが、分かりやく書けばこんな感じです。SendGridの公式ドキュメント(新しいタブで開く)も参考にしましょう。

curlコマンドによるメールの送信結果

sendgrid_tranzaction_mail_send_2_2

curlコマンドで送信したメールアドレスの受信ボックスを確認すると、”sendgrid.net”経由でのEmailが届いていることが分かります。