About wp-gravity-smtp
wp-gravity-smtp is a skill for configuring and maintaining Gravity SMTP in WordPress sites. It covers provider setup, delivery diagnostics, credential handling, and safeguards for email delivery.
Key features
- 01Setup for API and SMTP providers
- 02Version and security checks
- 03Credential isolation guidance
- 04Email delivery testing and logging
- 05Backup sender and failure alerts
Use cases
- 01Connecting a transactional email provider
- 02Investigating failed email notifications
- 03Checking API key storage and plugin version
- 04Configuring fallback delivery and alerts
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ kylebrodeur/ wordpress-agent-kit --skill wp-gravity-smtpAfter installing, type/wp-gravity-smtpin Claude Code to confirm it loaded.
Details
From the project READMEGravity SMTP
WordPress transactional email routing and delivery tracking. Gravity SMTP replaces the unreliable default PHP mail() with direct API integration to your provider — SendGrid, Mailgun, Postmark, Brevo, Amazon SES, Microsoft 365, Google, or custom SMTP.
Required on Elite or Nonprofit Gravity Forms license.
When to use
- Installing or updating Gravity SMTP
- Configuring an email provider (SendGrid, Mailgun, Postmark, etc.)
- Diagnosing failed email delivery or notification issues
- Auditing credential storage (CVE-2026-4020 mitigation)
- Setting up backup senders or delivery alerts
- Verifying email logging in wp-admin
⚠️ CVE-2026-4020 — update immediately
Gravity SMTP ≤ 2.1.4 has an unauthenticated REST endpoint that exposes your mail provider API keys. Update to v2.1.5+ on every environment before any other work.
wp gf version gravitysmtp # must be ≥ 2.1.5
wp gf update gravitysmtp # update if needed
Official documentation
| Resource | URL |
|---|---|
| Docs home | https://docs.gravitysmtp.com/ |
| Getting started | https://docs.gravitysmtp.com/getting-started/ |
| Integrations guide | https://docs.gravitysmtp.com/integrations/ |
| User guides | https://docs.gravitysmtp.com/user-guides/ |
| FAQ | https://docs.gravitysmtp.com/faq/ |
| Changelog / releases | https://www.gravityforms.com/gravity-smtp-changelog/ |
| Product page | https://www.gravitysmtp.com/ |
| Pricing (Elite required) | https://www.gravityforms.com/pricing/ |
Supported providers
| Provider | Type | API key source |
|---|---|---|
| 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 console |
| Microsoft 365 | OAuth | Azure portal |
| Google / Gmail | OAuth | Google Cloud Console |
| Custom SMTP | SMTP | Your provider |
Procedure
1) Install and immediately verify version
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) Credential isolation (required)
Store credentials in wp-config.php constants loaded from environment variables.
Never store API keys in wp_options — even if CVE is patched, it's better practice.
// 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');
Set the env var in WP Engine (Environment Variables in portal) or via .env locally.
3) Configure in wp-admin
Navigate to: Gravity SMTP (left sidebar) → Settings → choose your provider.
4) Test delivery
# Send a test email via WP-CLI
wp eval "wp_mail('[email protected]', 'Test', 'Gravity SMTP test');"
Check the email log at Gravity SMTP → Email Log.
5) CI/CD — check on every deploy
# In GitHub Actions post-deploy script or wp gf SCRIPT option:
wp gf version gravitysmtp
6) Backup sender + alerts
Configure in Gravity SMTP → Settings → Backup Sender — routes to a fallback if primary fails. Set up Gravity SMTP → Settings → Alerts to get notified on delivery failures.
Security checklist
# 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"
References
wp-gravity-formsskill — Installing GF and add-ons viawp gf- CVE details: search
CVE-2026-4020on NVD or WPScan