前回の記事では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が届いていることが分かります。