センドグリッド(SendGrid)は、米Twilioが提供するクラウド型のメール送信基盤です。自前のメールサーバーを持たずに、会員登録の確認メールやパスワード再設定、請求通知といったシステムからのメールをAPIかSMTPで送れます。日本では構造計画研究所が正規販売代理店として円建ての国内版を扱っており、Twilio直販とは請求通貨もログインの仕組みも別物です。この記事では、センドグリッドの製品構成、直販と国内版の違い、送信前に済ませるドメイン認証とAPIキーの設定、curl・Python・Node.jsで最初の1通を送るコード、そしてAmazon SESや自前SMTPを選ぶべき場面までを順に整理します。
まとめ|センドグリッド導入前に決める契約経路とドメイン認証の2点
最初に決めるのは契約経路です。円建ての契約と日本語サポートが要るなら構造計画研究所の国内版、ドル建てのカード決済で足りるならTwilio直販を選びます。無償のFreeプランは直販・国内版ともに終了しており、どちらを選んでも有料プランが前提になります。
次にドメイン認証です。自社ドメインのDNSにCNAMEとTXTのレコードを追加し、SPF・DKIM・DMARCをそろえてから送り始めます。Gmailは1日5,000件以上を送る送信者にこの3つを求めており、認証なしで送ると迷惑メールに入るか受信を拒否されます。
送信のプログラム自体は短く書けます。Mail Send v3のAPIに、送信専用の権限だけを付けたAPIキーでリクエストを投げれば、202が返った時点で受け付けは完了です。配信の成否は別途イベントで受け取る設計にしておくと、運用が始まってから困りません。
センドグリッドの正体|Twilio傘下のメール送信基盤と2製品の守備範囲
名前は一つでも、中身は用途の違う製品と送信方式の組み合わせです。どこまでをセンドグリッドに任せるのかを先に切り分けます。
2019年のTwilioによるSendGrid買収と現名称Twilio SendGrid
SendGridはもともと米国の独立企業で、Twilioの発表によると2019年2月1日に買収が完了し、Twilioの完全子会社になりました。現在の正式な製品名はTwilio SendGridで、ドキュメントもtwilio.comの配下に移っています。
検索で古い記事を読むときは、この移転に注意してください。sendgrid.comのドキュメントURLを前提にした手順は、画面名やURLが今と合わないことがあります。APIのエンドポイントはapi.sendgrid.comのままで、買収前に書かれたコードもv3 APIを使っていれば動きます。
Email APIとMarketing Campaignsで分かれる用途と課金の単位
製品は大きく2つです。Email APIは、システムが1通ずつ宛先を決めて送るトランザクションメール向けで、課金は月の送信通数で決まります。Marketing Campaignsは、管理画面でリストとテンプレートを組んで一斉配信するメルマガ向けで、保存できるコンタクト数が料金に効きます。
開発者が組み込むのはほぼEmail APIです。メルマガの企画と配信はマーケティング担当が画面で行い、システム側はトランザクションメールだけを担う、という分担が一般的です。一斉配信ツール全般との違いはメール配信システムの仕組みと導入判断で扱っています。
SMTPリレーとWeb APIの2つの送信方式と既存システムでの選び方
Email APIには送り方が2通りあります。HTTPSでJSONを送るWeb API(Mail Send v3)と、既存のメールサーバーやフレームワークからそのまま使えるSMTPリレーです。
基準は単純で、新規開発ならWeb API、改修コストをかけたくない既存システムならSMTPを選びます。Web APIは宛先ごとの差し込みや予約送信をリクエスト1本で指定でき、エラーの応答もHTTPのステータスで確認できる仕組みです。SMTPはsmtp.sendgrid.netの587番ポートに、SMTP連携のドキュメントどおりユーザー名を文字列apikey、パスワードをAPIキーにして接続するだけで、アプリのコードをほとんど触らずに移行できます。
Twilio直販と構造計画研究所版の違い|請求通貨・サポート・Free終了
日本でセンドグリッドを契約する経路は2つあります。同じ送信基盤を使いながら、契約・請求・ログインの扱いが違います。
2013年に業務提携した構造計画研究所が国内版を提供する仕組み
構造計画研究所は2013年9月2日のリリースでSendGrid社との業務提携を発表し、日本市場向けの提供を始めました。現在も正規販売代理店としてTwilio SendGridを扱っています。
国内版の実体は、Twilio SendGridの送信基盤に、日本語のドキュメントとサポート、円建ての契約と請求を重ねたものです。送信のAPIやSMTPの仕様は直販と共通なので、コードは経路によって書き換える必要がありません。違いが出るのは契約管理の画面とログインのIDで、ここを取り違えると入れなくなります。入口の見分け方はSendGridログインの手順と入れない時の対処に整理しました。
直販と国内版の契約時に比べる請求通貨・料金・サポートの対照表
2026年9月時点の各社公式ページの表記をもとに、判断に効く項目だけを並べます。
| 項目 | Twilio直販 | 構造計画研究所の国内版 |
|---|---|---|
| 請求通貨と支払い | 米ドル建て | 日本円・請求書払いはプロのみ |
| 最小プランの月額 | Essentials 19.95ドルから | エッセンシャル 3,000円から |
| 固定IP付きの入口 | Pro 89.95ドルから | プロ 14,000円から |
| ドキュメント | 英語の公式ドキュメント | 日本語ドキュメントとサポート |
| 無償で試せる範囲 | 60日間の無料トライアル | 60日間の無料トライアル |
国内版の月額は国内提供元の料金プランの税抜表記です。国内版でもクレジットカード払いが基本で、請求書払いを選べるのはプロプランだけです。経理が請求書払いを条件にしているなら、通数が少なくても国内版のプロ以上が候補になります。
Freeプラン廃止で無償の検証環境が使えなくなった日程と影響
直販ではFreeプランの廃止が2025年5月27日に始まり、60日の移行期間を過ぎた無料アカウントは送信が止まりました。100件を超えるコンタクトを持っていた場合は削除され、後から有料に切り替えても戻りません。国内版も2026年3月31日でFreeの提供を終えています。
影響が大きいのは、無料枠で動かしていた検証環境や社内ツールです。本番とは別の小さなプランを契約するか、検証では実際に送らない仕組み(後述のサンドボックスモード)に切り替えます。プランごとの実額と月の通数別の試算はSendGrid料金の実額とFreeプラン終了後の選択肢にまとめています。
送信前の準備作業|ドメイン認証のDNSレコード4件とAPIキーの発行
アカウントを作っても、この2つを済ませるまでは本番のメールを送らないでください。
自動セキュリティONで追加するCNAME3件とDMARCのTXT1件の中身
ドメイン認証のドキュメントによると、既定の自動セキュリティをONにすると、DNSに追加するレコードは4件です。
em1234.example.comのようなCNAME1件(SPFとバウンスの受け口)s1._domainkey.example.comとs2._domainkey.example.comのCNAME2件(DKIM)_dmarc.example.comのTXT1件(DMARC)
数字の部分はアカウントごとに発行されるので、管理画面に表示された値をそのまま登録します。DKIMとSPFの中身をCNAMEでSendGrid側に委ねる形なので、自社のDNSで鍵を書き換える作業はありません。DNSの反映を待つため、検証が通るまで最大48時間かかることがあります。既にDMARCのTXTレコードを持つドメインでは、上書きせず既存のポリシーを残してください。ポリシーの読み方はDMARCの仕組みとレコードの書き方で解説しています。
Gmailの送信者ガイドラインが求める3つの認証と迷惑メール率0.3%
ドメイン認証を後回しにできない理由は受信側にあります。Gmailのメール送信者のガイドラインは、2024年2月1日以降、1日5,000件以上を送る送信者にSPFとDKIMの両方、DMARCの設定、ワンクリックでの登録解除、Postmaster Toolsで見た迷惑メール率を0.3%未満に保つことを求めています。
トランザクションメールだけでも、会員数が数万人のサービスなら5,000件は簡単に超えます。From:ヘッダーのドメインがSPFかDKIMのドメインと一致している必要もあるため、共有ドメインのまま送るのではなく、自社ドメインで認証してから切り替えます。
APIキーは作成時に1回だけ表示される仕様とMail Send限定の権限
APIキーは管理画面のSettingsにあるAPI Keysで発行します。API Keysのドキュメントには、キーは作成時に1回だけ表示され、1アカウントで作れるのは100本までと書かれています。選択できる権限は、Full Access、個別に選ぶCustom Access、Billing Accessなどです。
送信するだけのプログラムには、Custom AccessでMail Sendだけを許可したキーを渡します。Full Accessのキーが漏れると、送信だけでなくAPIキーの追加やTeammateの操作までできてしまいます。キーの読み込み元は、ソースコードへの直接記載を避け、環境変数かシークレット管理サービスにしてください。表示を見逃した場合は再表示できないので、作り直して古いキーを削除します。
最初の1通|curl・Python・Node.jsのMail Send v3実装
ここからは、前の章の設定が済んだ前提で、実際にメールを送るコードを示します。環境変数SENDGRID_API_KEYにMail Send権限のキーが入っているものとします。
curlでv3のmail sendを呼び202 Acceptedを確かめるリクエスト例
まずはライブラリを入れずにcurlで疎通を確かめます。Mail Send APIのリファレンスでは、成功時のステータスは202で、本文は空です。
# 送信元はドメイン認証を済ませたドメインのアドレスにする
curl -s -o /dev/null -w "%{http_code}\n" \
-X POST "https://api.sendgrid.com/v3/mail/send" \
--header "Authorization: Bearer $SENDGRID_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"personalizations": [{"to": [{"email": "[email protected]"}]}],
"from": {"email": "[email protected]", "name": "Example"},
"subject": "会員登録の確認",
"content": [{"type": "text/plain", "value": "登録を受け付けました。"}],
"mail_settings": {"sandbox_mode": {"enable": true}}
}'
sandbox_modeをtrueにすると、リクエストの検証だけを行い、実際には送信しません。検証環境ではこの指定を常に入れ、本番だけ外すようにすると、テストデータの宛先へ誤送信する事故を防げます。401ならキーの誤り、403なら権限不足か送信元アドレスが未認証です。EUリージョンで作ったアカウントは、ホスト名をapi.eu.sendgrid.comに替えます。
sendgrid-python 6.12系で環境変数のキーから送る最小コード
Pythonでは公式のsendgrid-pythonを使います。2026年9月時点のPyPIの最新は6.12.5(2025年9月公開)で、pip install sendgridで入ります。
import os
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail
def send_signup_mail(to_addr: str) -> int:
message = Mail(
from_email="[email protected]",
to_emails=to_addr,
subject="会員登録の確認",
plain_text_content="登録を受け付けました。",
)
sg = SendGridAPIClient(os.environ["SENDGRID_API_KEY"])
response = sg.send(message)
# 202 は受け付け完了であり、相手に届いたことまでは示さない
return response.status_code
if __name__ == "__main__":
print(send_signup_mail("[email protected]"))
失敗時はpython_http_clientの例外が送出され、e.bodyにエラー内容のJSONが入ります。Webアプリの画面処理の中で直接呼ぶ構成では、SendGrid側が遅いときに画面の応答も詰まるため注意が必要です。ジョブキューに積んで非同期で送る構成にしておけば、再送の制御もそこでまとめて持てます。
Node.jsの@sendgrid/mail 8.1系による宛先別の送信例
Node.jsでは公式リポジトリsendgrid-nodejsの@sendgrid/mailを使います。npmの最新は8.1.6(2025年9月公開)です。
// npm install @sendgrid/mail
const sgMail = require("@sendgrid/mail");
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const recipients = ["[email protected]", "[email protected]"];
// 宛先ごとに personalizations を分けると、他の受信者のアドレスが見えない
const msg = {
from: "[email protected]",
subject: "メンテナンスのお知らせ",
text: "9月30日 2時から4時まで停止します。",
personalizations: recipients.map((email) => ({ to: [{ email }] })),
};
sgMail
.send(msg)
.then(([res]) => console.log(res.statusCode))
.catch((err) => {
console.error(err.response ? err.response.body : err);
process.exitCode = 1;
});
Mail Sendのリファレンスでは、1リクエストのpersonalizationsは最大1,000件です。それを超える宛先は1,000件ずつに分けて送ります。send_atで予約送信もできますが、指定できるのは72時間先までです。
202の後に届いたかを確かめるEvent Webhookとバウンス処理
202は、SendGridがリクエストを受け付けたという意味にとどまります。宛先不明で戻った、受信側に拒否された、迷惑メールとして報告された、といった結果は後から非同期で発生します。
これを拾うのがEvent Webhookです。bounceやdroppedのイベントを自社のエンドポイントで受け、無効なアドレスへの再送を止めます。放置すると、存在しない宛先への送信が続いて送信元の評価が下がるため、正常な宛先への到達にも悪影響が出る仕組みです。署名検証と再送に耐える受信側の作りはSendGrid API Event Webhookの実装手順で詳しく扱っています。
センドグリッドを選ぶ条件と見送る場面|Amazon SES・自前SMTPとの比較
ここまでで導入の手間は見えました。最後に、そもそもセンドグリッドを選ぶべきかを判断します。
センドグリッドを選ぶ条件は非AWS環境・円建て請求・画面での配信併用
次のどれかに当てはまるなら、センドグリッドを選んで構いません。システムがAWS以外(他社クラウドやレンタルサーバー)で動いている。円建ての契約と日本語サポートが条件になっている(請求書払いならプロ以上)。トランザクションメールに加えて、マーケティング担当が画面からメルマガも配信したい。
とくに3つ目は、送信基盤を1つにまとめられる利点が大きい条件です。ドメイン認証や配信停止リストを1か所で管理でき、別々のサービスで送信元の評価が割れることもありません。
AWS上で完結するならAmazon SES、自前SMTPは送信量が少ない社内用
逆に、アプリがAWS上で動いていて、送るのはトランザクションメールだけという構成なら、センドグリッドは選びません。Amazon SESのほうがIAMでの権限管理やCloudWatchでの監視をAWSの中で完結でき、料金も送信量に比例する形で小さく始められます。仕組みとサンドボックス解除の手順はAmazon SESのSMTP・APIと料金の解説を参照してください。
自前のSMTPサーバーで送るのは、宛先が社内だけの通知など、外部の受信サーバーの評価を気にしなくてよい場合に限ります。社外に大量に送る基盤を自前で持つと、IPの評価管理とバウンス処理を自社で抱えることになります。それでも自社で構築する場合の設計はメール配信システムの自作・構築とSMTP基盤設計にまとめました。
複数システムの送信を1つのAPI層に集約する改修と相談先の選び方
センドグリッドの導入を機に、社内の送信経路を棚卸しすると、システムごとに別々のSMTP設定やAPIキーで送っている実態が見つかることがあります。この状態では、キーを1本止めたときに何が止まるのか誰も答えられません。
その場合は、各システムが直接センドグリッドを呼ぶのをやめ、送信を受け持つAPI層を1つ置く構成に改めます。テンプレートとキーの管理、再送、Event Webhookの受信をそこに寄せれば、送信サービスを乗り換える際に必要な修正箇所も1か所だけです。既存システムの送信処理の洗い出しや、連携基盤の設計を外部に相談する場合は、API開発・システム連携のページで対応範囲を紹介しています。
よくある質問
センドグリッドを調べ始めた段階で出てくる疑問を5つ取り上げます。
センドグリッドは無料で使えますか?
現在は無料で使い続けることはできません。Twilio直販のFreeプランは2025年5月27日から廃止が始まり、国内版も2026年3月31日でFreeの提供を終えました。直販・国内版とも60日間の無料トライアルはありますが、期間を過ぎると有料プランへの切り替えが必要です。検証だけなら、Mail Sendのsandbox_modeで実際には送らずにリクエストの形を確かめる方法があります。
SendGridとTwilio SendGridは別のサービスですか?
同じサービスです。SendGridは2019年2月にTwilioの買収が完了して子会社となり、製品名がTwilio SendGridになりました。APIのエンドポイントはapi.sendgrid.comのままで、買収前に書かれたv3 APIのコードもそのまま動きます。変わったのはドキュメントの置き場所と、直販アカウントのログインがTwilio Loginに統合された点です。
構造計画研究所経由と直販で送信の品質は変わりますか?
送信に使う基盤は同じTwilio SendGridで、APIやSMTPの仕様も共通です。契約の経路で到達率が変わる仕組みにはなっていません。差が出るのは請求通貨と支払い方法、サポートの言語、契約管理の画面です。到達率を左右するのは経路ではなく、ドメイン認証の有無、固定IPの使い方、バウンスした宛先へ送り続けていないか、といった送信側の運用です。
センドグリッドで送ったメールが迷惑メールに入るのはなぜですか?
多くはドメイン認証の未設定か、From:のドメインと認証ドメインの不一致です。管理画面のドメイン認証が検証済みになっているか、DMARCのTXTレコードがあるかを先に確かめます。次に、存在しない宛先への送信が続いていないかをEvent Webhookのbounceで確認します。Gmail宛てなら、Postmaster Toolsで迷惑メール率が0.3%を超えていないかも見てください。
センドグリッドのAPIキーはどこで作り、何本まで作れますか?
管理画面のSettingsにあるAPI Keysで作成し、1アカウントあたり100本が上限です。キーの値は作成時に1回だけ表示され、後から見直すことはできません。用途ごとにキーを分け、送信用にはMail Sendだけを許可します。担当者の管理画面ログインとシステムの送信を分けておく運用は、ログイン記事の後半で扱っています。
関連記事
- SendGrid料金の実額と落とし穴:円建てプランとドル建て直販の月額、Freeプラン終了後の代替比較
- SendGridログインの手順と入れない時の対処:直販と国内版の入口の違い、2FAとAPIキーへの移行
- SendGrid API Event Webhookの実装手順:署名検証と再送に耐える受信側の設計
- DMARCの仕組みとnone・quarantine・rejectの差:ドメイン認証後に決めるポリシーの段階
- メール配信システムのおすすめ比較と選び方:到達率・機能・料金の選定軸