If you’ve ever tried to send emails from your WordPress site using Post SMTP and hit a wall with port 587 timing out, you’re not alone. I went through the struggle myself, trying everything short of yelling at the router. The good news? I finally fixed it — with a rather unexpected router workaround.
TL;DR:
Post SMTP was constantly timing out on port 587 due to a common router issue. It wasn’t the plugin, the mail server, or even my hosting. The culprit was the router’s firewall and NAT type. Changing just one setting (and in some cases, replacing the router) made all the difference. If you’re pulling your hair out, read this and discover the fix that worked wonders.
What is Post SMTP and Why Use It?
Post SMTP is a popular WordPress plugin for sending emails through external SMTP servers instead of using the default PHP mail function. It ensures better deliverability and more reliable email behavior.
Many people set it up with Gmail, Outlook, or private mail servers. It’s especially useful for:
- Sending WooCommerce order confirmations
- Receiving form submissions
- Automated emails from your site
But things get bumpy when port 587 is involved…
So What’s Up with Port 587?
Port 587 is one of the standard ports used for sending email via SMTP securely — with STARTTLS encryption. Most email providers require it.
Here’s the catch:
- It can be blocked by hosting providers.
- Some ISPs may mess with it.
- Routers can have a funky relationship with it.
That last one? It was my problem.
What Happened in My Case
Every time Post SMTP tried to connect using port 587, it timed out. It didn’t matter what mail provider I used. Gmail. SendGrid. Zoho. All timing out.
Post SMTP’s diagnostic tool would throw errors like this:
Could not connect to the SMTP host. This usually means a firewall is blocking the connection.
Bingo. A firewall. But where?
I Tried All the Usual Fixes (And Failed)
Let me walk you through my misadventures:
- Checked hosting provider’s firewall: They said everything was open. No port blocks.
- Tried using port 465 instead: Nope, same issue.
- Turned off WordPress security plugins: Still nothing.
- Tested command line connection (telnet to smtp.gmail.com 587): Timeouts again.
- Tested from laptop instead of server: SUCCESS! Which was weird.
You read that right. The same command from my laptop — on a different Wi-Fi — worked. So it wasn’t the site, the mail server, or the plugin.
It was something on the network between my server and the Internet.
Hint: It blinked and sat under my desk.
The True Culprit: The Router
After some digging and a lot of coffee, I found it: My router was silently dropping outbound traffic on port 587. It was a combination of:
- Firewall rules set by default
- Older firmware that didn’t play nice with NAT traversal
- “DoS Protection” features that were too aggressive
Even though my ISP wasn’t blocking anything, my home router sure was.
The Workaround (That Actually Worked!)
Here’s the weird part — I didn’t have to replace my whole networking setup. I just had to outsmart the router.
I tried a few things until one brilliant-but-simple fix did the trick.
Step-by-Step: Fixing the 587 Timeout
- Log into your router admin panel.
- Look for advanced firewall settings or NAT filtering.
- Disable DoS Protection temporarily.
- Switch NAT Filtering mode from “Secured” to “Open” (names may vary).
- Disable SIP ALG (if available — this messes with port conversions).
- Reboot the router.
In some cases, port forwarding manually helped too. But for me, turning off the smart firewall did all the magic.
Alternative Fixes If That Doesn’t Work
If you’re still stuck, here’s a few other tricks:
- Use a VPN on your local server to bypass router NAT entirely.
- Set up a custom SMTP relay on a VPS and route your WordPress SMTP through that.
- Switch to an SMTP provider that uses port 2525 (like Mailgun). That port is usually open.
For techies: you could even create a reverse SSH tunnel to a relay server — but that’s rabbit-hole territory you might not want to enter.
What You Should Not Do
A lot of tutorials recommend disabling your website’s SSL or authentication on the mail server. Don’t do that.
Here’s why:
- It opens your server to vulnerabilities
- You’ll probably get flagged as spam
- Email providers will reject your messages
Instead, keep your email client secure and work from the network backward.
How Do You Know It’s Working?
Post SMTP makes it easy! Once you’ve changed the router settings:
- Go to the plugin dashboard
- Send a test email
- Watch the diagnostic logs
If everything’s good, the log will say:
Connection: Success! TLS negotiation succeeded Message delivered successfully
Time to celebrate! 🎉
Conclusion: Don’t Underestimate Your Router
Routers do more than just beam Wi-Fi around. They can block traffic, mess with vital ports, and silently cause apps like Post SMTP to fail. If you’ve tried everything but still hit that timeout on port 587, it might be your router’s fault.
So, don’t give up. Get geeky with your router settings, try the firewall workaround, and you just might see those pesky error messages disappear for good.
Moral of the story? Sometimes all it takes is one checkbox… and a little patience.
Happy emailing, friends!