Twilio CLIを使ってTwilio SendGridのメールを送信する方法
- 2024年1月18日
- by 菊田 洋一
- Category: 技術ネタ
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 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をお試しください。