wp-gravity-smtp について
wp-gravity-smtpは、WordPressサイトでGravity SMTPを設定・保守するスキルです。メールプロバイダーの設定、配信の診断、認証情報の管理、メール配信の保護策を扱います。
主な機能
- 01API・SMTPプロバイダーの設定
- 02バージョンとセキュリティの確認
- 03認証情報の分離に関する案内
- 04メール配信テストとログ確認
- 05代替送信元と失敗アラートの設定
活用シーン
- 01トランザクションメールプロバイダーの接続
- 02メール通知の配信失敗の調査
- 03APIキーの保存場所とプラグイン版の確認
- 04代替配信とアラートの設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kylebrodeur/ wordpress-agent-kit --skill wp-gravity-smtpインストール後、Claude Code で/wp-gravity-smtpを入力して読み込まれたか確認します。
詳細
Gravity SMTP
WordPress のトランザクションメールのルーティングと配信追跡を行います。Gravity SMTP は、信頼性の低いデフォルトの PHP mail() を、SendGrid、Mailgun、Postmark、Brevo、Amazon SES、Microsoft 365、Google、またはカスタム SMTP プロバイダーとの直接 API 連携に置き換えます。
Elite または Nonprofit の Gravity Forms ライセンスが必要です。
使用する場面
- Gravity SMTP をインストールまたは更新する場合
- メールプロバイダー(SendGrid、Mailgun、Postmark など)を設定する場合
- メール配信の失敗や通知の問題を調査する場合
- 認証情報の保存方法を監査する場合(CVE-2026-4020 の緩和策)
- バックアップ送信元や配信アラートを設定する場合
- wp-admin でメールログを確認する場合
⚠️ CVE-2026-4020 — 直ちに更新してください
Gravity SMTP ≤ 2.1.4 には、メールプロバイダーの API キーを漏えいさせる認証不要の REST エンドポイントがあります。他の作業を行う前に、すべての環境で v2.1.5+ に更新してください。
wp gf version gravitysmtp # must be ≥ 2.1.5
wp gf update gravitysmtp # update if needed
公式ドキュメント
対応プロバイダー
| プロバイダー | 種類 | API キーの取得先 |
|---|---|---|
| SendGrid | API | https://app.sendgrid.com/settings/api_keys |
| Mailgun | API | https://app.mailgun.com/settings/api_security |
| Postmark | API | https://account.postmarkapp.com/api_tokens |
| Brevo (Sendinblue) | API | https://app.brevo.com/settings/keys/api |
| Amazon SES | API | AWS IAM コンソール |
| Microsoft 365 | OAuth | Azure ポータル |
| Google / Gmail | OAuth | Google Cloud Console |
| カスタム SMTP | SMTP | 利用するプロバイダー |
手順
1) インストールして、バージョンを直ちに確認する
wp gf install gravitysmtp --activate
# IMMEDIATELY check — CVE-2026-4020
SMTP_VER=$(wp gf version gravitysmtp)
echo "Gravity SMTP: $SMTP_VER"
php -r "exit(version_compare('$SMTP_VER','2.1.5','>=') ? 0 : 1);" \
|| echo "❌ CRITICAL: Update to ≥ 2.1.5"
2) 認証情報の分離(必須)
環境変数から読み込む wp-config.php 定数に認証情報を保存してください。
API キーを wp_options に保存しないでください — CVE を修正済みの場合でも、より適切な方法です。
// wp-config.php
define('GRAVITY_SMTP_SENDGRID_API_KEY', getenv('SENDGRID_API_KEY'));
define('GRAVITY_SMTP_FROM_EMAIL', getenv('SMTP_FROM_EMAIL'));
define('GRAVITY_SMTP_FROM_NAME', 'U of Digital');
WP Engine の管理ポータルで環境変数を設定するか、ローカルでは .env を使用して環境変数を設定します。
3) wp-admin で設定する
Gravity SMTP(左サイドバー)→ Settings → プロバイダーを選択します。
4) 配信をテストする
# Send a test email via WP-CLI
wp eval "wp_mail('[email protected]', 'Test', 'Gravity SMTP test');"
Gravity SMTP → Email Log でメールログを確認します。
5) CI/CD — デプロイごとに確認する
# In GitHub Actions post-deploy script or wp gf SCRIPT option:
wp gf version gravitysmtp
6) バックアップ送信元とアラート
Gravity SMTP → Settings → Backup Sender で設定します — プライマリが失敗した場合に、フォールバックへルーティングします。 配信失敗の通知を受け取るには、Gravity SMTP → Settings → Alerts を設定します。
セキュリティチェックリスト
# Check version
wp gf version gravitysmtp
# Verify API key is NOT stored in wp_options
wp option get gravitysmtp_sendgrid_api_key 2>/dev/null && \
echo "⚠️ Key in DB — move to wp-config.php" || echo "✓ Not in wp_options"
参考資料
wp-gravity-formsスキル —wp gfを使った GF とアドオンのインストール- CVE の詳細:NVD または WPScan で
CVE-2026-4020を検索