mcpField
W
wp-gravity-smtp

wp-gravity-smtp

github.com/kylebrodeur开发148 次安装1 周前更新
代码仓库

关于 wp-gravity-smtp

wp-gravity-smtp 是用于在 WordPress 站点配置和维护 Gravity SMTP 的技能,涵盖邮件服务商设置、投递故障诊断、凭据管理及投递保护措施。

主要功能

  1. 01配置 API 和 SMTP 服务商
  2. 02检查版本与安全状态
  3. 03指导隔离凭据
  4. 04测试邮件投递并查看日志
  5. 05设置备用发送方和失败提醒

适用场景

  1. 01连接事务邮件服务商
  2. 02排查邮件通知投递失败
  3. 03检查 API 密钥存储和插件版本
  4. 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(),通过直接调用 API 与服务提供商集成,包括 SendGrid、Mailgun、Postmark、Brevo、Amazon SES、Microsoft 365、Google 或自定义 SMTP。

需要 Elite 或 Nonprofit Gravity Forms 许可证。

适用场景

  • 安装或更新 Gravity SMTP
  • 配置邮件服务提供商(SendGrid、Mailgun、Postmark 等)
  • 诊断邮件送达失败或通知问题
  • 审核凭据存储情况(缓解 CVE-2026-4020 风险)
  • 设置备用发件服务或送达提醒
  • 在 wp-admin 中验证邮件日志

⚠️ CVE-2026-4020 — 请立即更新

Gravity SMTP ≤ 2.1.4 存在一个未经身份验证的 REST 端点,会泄露邮件服务提供商的 API 密钥。请先在所有环境中更新至 v2.1.5+,然后再进行其他操作。

wp gf version gravitysmtp    # must be ≥ 2.1.5
wp gf update gravitysmtp     # update if needed

官方文档

资源URL
文档主页https://docs.gravitysmtp.com/
入门指南https://docs.gravitysmtp.com/getting-started/
集成指南https://docs.gravitysmtp.com/integrations/
用户指南https://docs.gravitysmtp.com/user-guides/
常见问题https://docs.gravitysmtp.com/faq/
更新日志 / 发布记录https://www.gravityforms.com/gravity-smtp-changelog/
产品页面https://www.gravitysmtp.com/
定价(需要 Elite)https://www.gravityforms.com/pricing/

支持的服务提供商

服务提供商类型API 密钥来源
SendGridAPIhttps://app.sendgrid.com/settings/api_keys
MailgunAPIhttps://app.mailgun.com/settings/api_security
PostmarkAPIhttps://account.postmarkapp.com/api_tokens
Brevo (Sendinblue)APIhttps://app.brevo.com/settings/keys/api
Amazon SESAPIAWS IAM 控制台
Microsoft 365OAuthAzure 门户
Google / GmailOAuthGoogle Cloud Console
自定义 SMTPSMTP您的服务提供商

操作步骤

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 中设置环境变量(门户中的 Environment Variables),或在本地通过 .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

评论

支持 Markdown