SendGridAPI

表題を`curl`で実行したい。

■ 環境

  • SendGrid
  • Linux
  • Mac OSX El Capitan

■ SendGrid

下記の言語はライブラリが用意されている。

  • C#
  • Go
  • Java
  • NodeJS
  • PHP
  • Python
  • Ruby

今回は単なるシェルスクリプトの中で実行したかったので`curl`コマンドでメールを送りたい。

cURL Examples for Common Use Cases
https://sendgrid.com/docs/Classroom/Send/v3_Mail_Send/curl_examples.html

API KEYはSendGridの管理画面、『Settings > API Keys』から発行する。

https://app.sendgrid.com/settings/api_keys

発行したAPI KEYを下記の”YOUR_API_KEY“の箇所と置換する。

--header 'authorization: Bearer YOUR_API_KEY' \

Bearer “は削除していけない。

宛先や件名、本文は下記ドキュメントの『要求ボディパラメータ』を参照して編集した。

V3 Mail Send API 概要
https://sendgrid.kke.co.jp/docs/API_Reference/Web_API_v3/Mail/index.html

最終的には下記のようになった。

curl \
  --silent \
  --request POST \
  --url https://api.sendgrid.com/v3/mail/send \
  --header "Authorization: Bearer ${SENDGRID_APIKEY}" \
  --header 'Content-Type: application/json' \
  --data "${SENDGRID_REQUEST}"

本文や宛先は動的に生成したかったのと、別の場所で定義したかったのがあり”${SENDGRID_REQUEST}“変数に入れた。これでできたので満足。

以上。