Twilio CLIを使ってTwilio SendGridのメールを送信する方法

Twilio CLIを使ってTwilio SendGridのメールを送信する方法

Twilio SendGridサポートエンジニアの菊田(@kikutaro_)です。TwilioではAPIを簡単に使う手段としてTwilio CLIを提供しています。コマンドで簡単にAPIを呼べるので、すぐに動作確認したいときなどに便利です。今回のブログでは、Twilio CLIを使ってSendGridのメールを送る手順を紹介します。

Twilio CLIのセットアップ

インストール方法は次の5種類が用意されているので、ご自身の環境にあわせて選びましょう。

  • homebrew (Mac)
  • apt
  • scoop (Windows)
  • Docker
  • npm

今回はDockerを使った方法で進めます。実際に動作確認した環境は次のとおりです。

  • Windows 11 Pro 22H2 64bit
  • Docker 24.0.2-rd

コマンドを入力します。

docker run -it --rm twilio/twilio-cli bash

これでTwilio CLIを利用できる環境が立ち上がります。

コマンドの説明

メインとなるコマンドはtwilioです。ヘルプはhオプションで確認できます。

twilio -h

Unleash the power of Twilio from your command prompt. Visit https://twil.io/cli for don.

VERSION
  twilio-cli/5.15.0 linux-x64 node-v18.16.0

USAGE
  $ twilio [COMMAND]

TOPICS
  api            advanced access to all of the Twilio APIs
  config         manage Twilio CLI configurations
  debugger       Show a list of log events generated for the account
  email          sends emails to single or multiple recipients using Twilio SendGrid
  feedback       provide feedback to the CLI team
  phone-numbers  manage Twilio phone numbers
  plugins        list available plugins for installation
  profiles       manage credentials for Twilio profiles

COMMANDS
  autocomplete  display autocomplete installation instructions
  feedback      provide feedback to the CLI team
  login         create a new profile to store Twilio Account credentials and configuration
  plugins       List installed plugins.
  update        update the twilio CLI
  version

今回はTOPICSに載っているemailを使います。実際にコマンドを入力する前に、Twilio SendGridのAPIキーを準備しましょう。

Twilio SendGridのAPIキー作成

SendGridのダッシュボードからSettings > API Keysを選択します。今回はメール送信権限のみあれば良いので、Restricted AccessのMail SendのみにFull Accessを与えてください。

Twilio SendGridのAPIキー作成

メールの送信

Twilio CLIに戻って、作成したAPIキーを環境に設定します。

export SENDGRID_API_KEY=SG.xxxxxxxxxxxxxxx

email:setコマンドを使うとFromメールアドレスと件名にデフォルト値を設定できます。Senderにはご自身の送信元Fromを指定してください。例では私の所有するドメインを使って「kikuta@kikutaro.tech」を指定しています。

twilio email:set
? Default email address of the sender: kikuta@kikutaro.tech
? Default subject line for all emails: こんにちは!
Default sending email address has been set to: kikuta@kikutaro.tech
Default subject line has been set to: こんにちは!
twilio-cli configuration saved to "/root/.twilio-cli/config.json"

それではemail:sendコマンドでメールを送信してみましょう。宛先メールアドレス、本文、添付ファイルの有無(ある場合はファイルパスを指定)を聞かれるので答えます。

twilio email:send
? Email address of recipient (for multiple email addresses separate each email with a comma): kikutarosendgrid@gmail.com
? Text to send within the email body: Twilio CLIから送信しました。
? Would you like to send an attachment? No

成功すると次のようなメッセージが表示されます。

Your email containing the message "Twilio CLIから送信しました。" sent from "kikuta@kikutaro.tech" to "kikutarosendgrid@gmail.com" with the subject line "こんにちは!" has been sent!

実際に届いたメールを確認すると入力のとおり表示されています。

実際に届いたメール

現在Twilio CLIのSendGrid機能に関しては、残念ながらメール送信しかできませんが、オープンソースとして公開されているので機能拡張も可能です(コントリビューションの方法はこちらです)。ご興味あればぜひTwilio CLIをお試しください。

アーカイブ

メールを成功の原動力に

開発者にもマーケターにも信頼されているメールサービスを利用して、
時間の節約、スケーラビリティ、メール配信に関する専門知識を手に入れましょう。