前回の記事では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コマンドで長文を書くときのための改行する記号です。
こんな感じでそのまま使っていただくとメールが送信されます。
任意の文字列・データ形式を入力するオプションについて
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コマンドによるメールの送信結果
curlコマンドで送信したメールアドレスの受信ボックスを確認すると、”sendgrid.net”経由でのEmailが届いていることが分かります。


