Over the past weeks, I personally ran into two email-related attacks that disrupted communication and created reputational risks. These aren’t rare — they’re common, especially for WordPress sites with popular contact form plugins and default mail settings.
This post is here to help you protect your WordPress site, avoid business disruptions, and understand how to properly configure your email infrastructure.
Attack #1 — Contact Form Spam

What’s happening: Your contact form is getting hammered with spam submissions. There are two major consequences to be aware of:
- Your lead channel gets flooded — you start missing real client messages.
- If you have an automatic email reply enabled (“Thanks, we received your request…”), your site starts sending hundreds of emails to random fake addresses.
What’s the result?
- Your SMTP provider may suspend or throttle your email service.
- You end up on email blacklist databases, damaging your domain reputation.
- And worst of all — you lose contact with real customers.
How to protect yourself:
To avoid losing leads and email functionality:
Log the form submission first — save it in your database or CRM before any email is sent.
Notify your team elsewhere — duplicate submissions to Telegram or Slack via Webhooks.
Secure the form with:
- Google reCAPTCHA or hCaptcha
- IP rate limits
- Spam filters and honeypots
How to Secure Your WordPress Contact Forms
Depending on the plugin you’re using, here’s how to lock things down:
Contact Form 7
- Enable Google reCAPTCHA v3 or v2.
- Use Flamingo to store submissions in the database.
- Add Honeypot for stealth spam filtering.
- Optional: Use WP Armour for JavaScript-based protection.
WPForms
- Built-in reCAPTCHA, hCaptcha, and smart spam filtering.
- Save entries in the WP admin (no email sending required).
- Integrate with Slack, Telegram, or CRM tools via Webhooks.
Fluent Forms
- reCAPTCHA, hCaptcha, Honeypot — all built-in.
- Save to database, sync with FluentCRM or external CRMs.
- Native integrations with Telegram and Slack.
Gravity Forms
- Use Akismet, Honeypot, and reCAPTCHA for spam filtering.
- Connect to third-party CRMs and tools like Zapier or Make.
- Filter submissions before sending via gform_pre_submission_filter.
Pro Tips:
- Limit form submissions by time or IP (e.g., max 1 every 30 seconds).
- Disable auto-replies unless absolutely needed.
- Store entries in your site or CRM instead of blindly forwarding them by email.
Attack #2 — Email Spoofing & Phishing Sent From Your Domain
This one hit me more recently — and it’s infuriating.
Suddenly, emails started appearing “from” my domain. I hadn’t sent them. Worse: they contained links to phishing sites. That’s when I realized someone was spoofing my domain to trick recipients.
Your domain can be used in fake phishing campaigns, without ever accessing your server.

What’s the Risk?
- Reputation damage — customers lose trust.
- Financial risk — users may lose data or money thinking the message came from you.
- Legal complaints — spam complaints may list you as the sender.
How to Protect Your Domain in 2025
If you own a domain, you must configure three DNS records today:
✅ 1. SPF (Sender Policy Framework)
Defines which mail servers are allowed to send emails on behalf of your domain.
Example:
v=spf1 include:_spf.mydomain.com ~all
✅ 2. DKIM (DomainKeys Identified Mail)
Digitally signs outgoing emails, allowing recipients to verify that the message hasn’t been tampered with.
- Usually set up through your email provider (Mailgun, SendGrid, Gmail).
- Requires publishing a public key in DNS.
✅ 3. DMARC (Domain-based Message Authentication, Reporting & Conformance)
Coordinates SPF and DKIM. Tells recipient servers what to do with unauthenticated emails and sends you reports about abuse.
Example:
v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com;
You can choose:
- p=none — monitor only
- p=quarantine — send to spam
- p=reject — block fake messages entirely
Why This Matters:
- You get visibility via DMARC reports on how your domain is used.
- You can warn users in case of phishing campaigns.
- Mail providers reject fake messages before they ever reach inboxes.
Email Configuration for WordPress Sites
Don’t rely on wp_mail() or PHP’s native mail function. They don’t set proper headers and signatures.
Use one of these plugins to send authenticated emails:
- WP Mail SMTP — integrates with Gmail, SendGrid, Mailgun, Amazon SES.
- Post SMTP — includes delivery logs and webhook notifications.
Final Checklist for WordPress Owners
- Secure all contact forms with CAPTCHA and anti-spam tools.
- Store submissions in a database or CRM — avoid relying on email only.
- Set up SPF, DKIM, and DMARC in your domain’s DNS panel.
- Use SMTP for all email sending — never default PHP mail.
- Monitor DMARC reports to detect spoofing or abuse.
If you need help configuring email security, SMTP delivery, or integrating your forms with secure CRMs or Telegram — feel free to reach out. Better to set it up before something breaks.
Let’s keep your domain trustworthy and your forms clean.
Leave a Reply