mcpField
W
wp-gravity-smtp

wp-gravity-smtp

github.com/kylebrodeurDevelopment148 installsUpdated 1w ago
Repository

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

  1. 01Setup for API and SMTP providers
  2. 02Version and security checks
  3. 03Credential isolation guidance
  4. 04Email delivery testing and logging
  5. 05Backup sender and failure alerts

Use cases

  1. 01Connecting a transactional email provider
  2. 02Investigating failed email notifications
  3. 03Checking API key storage and plugin version
  4. 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-smtp

After installing, type/wp-gravity-smtpin Claude Code to confirm it loaded.

Details

From the project README

Gravity 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

ResourceURL
Docs homehttps://docs.gravitysmtp.com/
Getting startedhttps://docs.gravitysmtp.com/getting-started/
Integrations guidehttps://docs.gravitysmtp.com/integrations/
User guideshttps://docs.gravitysmtp.com/user-guides/
FAQhttps://docs.gravitysmtp.com/faq/
Changelog / releaseshttps://www.gravityforms.com/gravity-smtp-changelog/
Product pagehttps://www.gravitysmtp.com/
Pricing (Elite required)https://www.gravityforms.com/pricing/

Supported providers

ProviderTypeAPI key source
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 console
Microsoft 365OAuthAzure portal
Google / GmailOAuthGoogle Cloud Console
Custom SMTPSMTPYour 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-forms skill — Installing GF and add-ons via wp gf
  • CVE details: search CVE-2026-4020 on NVD or WPScan

Comments

Markdown supported