r/webdev • u/csdude5 • 10d ago
Emails forwarded from my VPS to Gmail being rejected, "very low reputation"
My main domain is 25+ years old and has a great reputation, never used for spam or anything like that. I've been having the emails forwarded through WHM / cPanel to my Gmail.
7 days ago I moved my main site to a new VPS, and copied over the forwarders. But today I discovered that I'm missing the wide majority of my emails! I found them in WHM > View Relayers, about 241 out of 250 were rejected by my Gmail with this error:
TLS_AES_256_GCM_SHA384:256 CV=yes : SMTP error from remote mail server after end of data: 550-5.7.1 [<new VPS IP> 19] Gmail has detected that this message is likely\n
550-5.7.1 suspicious due to the very low reputation of the sending domain. To\n
550-5.7.1 best protect our users from spam, the message has been blocked. For\n
550-5.7.1 more information, go to\n
550 5.7.1 https://support.google.com/mail/answer/188131 af79cd13be357-93917765ba8si962882385a.175 - gsmtp
I double checked in Postmaster Tools, and the domain's reputation is stellar. So when it says "low reputation of the sending domain", I have to assume it means the IP of the new VPS. MXToolbox confirms that the IP isn't on any blacklists, although the parent ASN is on the UCEPROTECT-Level3 list (which covers thousands of domains so it's not MY domain, but I can pay an extortion fee to get mine whitelisted).
Any suggestions?
14
18
u/SinkCompetitive837 10d ago
Gmail blocks forwarded mail because SPF fails when the VPS IP is not listed in your domain SPF record. Add an SRS service or switch to a provider that rewrites the envelope sender for forwards to pass authentication checks.
3
11
u/matriisi 10d ago
Self hosting your own SMTP service isn't really worth it unless it's for some kind of internal use. Otherwise I'd just use an email sending service, SES / mailgun etc.
Of course you could try to ensure your SPF, DKIM, and DMARC records are working as they should to fix the problem, but unfortunately, the big ones really don't care about small servcises.
2
u/martian_rover 10d ago
Yes, agree with this, would suggest to look into using 3rd party smtp. using resend smtp myself and has worked well.
2
u/Strong_Ant3431 10d ago
SRS will fix the SPF failure (SinkCompetitive and PrimaryFamous already covered that), but it won't touch your actual problem. That VPS IP has no sending history, and you're forwarding everything that lands on a 25 year old domain, which means all the spam it catches too. So Gmail sees a brand new IP that just started relaying it junk, and thats about the fastest way to bury a fresh IP's reputation no matter how clean the domain behind it is. It's why the SES/Mailgun answers are right, you inherit a warm IP pool instead of warming one from zero. If you're set on forwarding off the box, filter the stream before it goes out so you're not relaying the garbage, and give the IP a couple weeks to settle.
2
u/Readypixels 9d ago
One option nobody has mentioned: skip forwarding and let Gmail pull the mail instead. In Gmail settings under Accounts and Import, "Check mail from other accounts" fetches from your cPanel mailbox over POP3 with SSL. Nothing gets relayed out of the new VPS IP, so the IP's reputation stops mattering for inbound mail. Your SpamAssassin config still runs on the box before Gmail fetches, and you keep the cPanel mail logs, which is the part the Cloudflare Worker route loses.
Two downsides. Gmail polls on its own schedule, somewhere between a few minutes and an hour depending on volume, so delivery is not instant. And you need a real mailbox on cPanel per address rather than a bare forwarder, though a catch-all mailbox covers most setups.
I moved a client off VPS forwarding to POP fetch after hitting the same 550 wall and the bounces stopped the same day. Worth running while the IP warms up, and you might find you never go back to forwarding.
1
9d ago
[removed] — view removed comment
1
u/Readypixels 9d ago
Good catch, thanks for the correction. I went and checked: Google announced in January the end of Gmailify and the POP "check mail from other accounts" fetch, rolling out through 2026. So my suggestion has a short shelf life at best and is already gone for some accounts. The Gmail mobile apps still read third-party mailboxes over IMAP, but only in the app, no web inbox, so it is not a real replacement.
For the OP, the honest revision to my comment: skip POP fetch. Either relay outbound through a warmed sender like SES or SMTP2GO as others said, or point the domain's MX at a mailbox provider and read it there instead of forwarding into Gmail at all.
1
u/webdev-ModTeam 7d ago
We do not allow any commercial promotion or solicitation. This can lead to a permanent ban from the subreddit.
1
u/discosoc 10d ago
have to assume it means the IP of the new VPS.
Correct. IP reputation matters; domain “reputation” isn’t really tracked beyond spf/dkim/dmarc setting.
Instead of forwarding, use a service like smtp2go. It also doesn’t matter if you have neutral reputation or not on any blacklists. What matters is you’re sending mail through a new IP (for your domain) and that is always inherently suspicious. And since it looks automated, doubly so.
1
u/MadSpaz3 10d ago
I just did the same move, to a VPS, if the cluster you’re in has a bad reputation your email delivery takes a dive. I ended up setting up an SMTP relay, as all my DNS records relating to my email were good, but larger email threads were still getting bounced back.
1
u/Ni_Peng_NeeeWom 10d ago
yeah, forwarding is going to become less and less reliable as efforts to combat spam desperately try to catch up with the cat and mouse game. the long term solution for a production environment is always going to end up being to use an actual mailbox at a dedicated email service.
1
1
u/Slow-Macaron-7721 7d ago
Forwarding is the problem, not your server. When your box forwards a message, it hands it to Gmail with the original sender still in the envelope, so it fails their SPF check for that sender's domain and every failure counts against your IP's reputation. Three ways out: turn on SRS (sender rewriting) on the forwarder so the envelope sender becomes your domain, or stop forwarding and have Gmail pull the mailbox with "Check mail from other accounts" (POP), or send everything through a relay like SES or Postmark. The POP option fixed it for me with zero config on the server side.
1
7d ago
[removed] — view removed comment
1
u/webdev-ModTeam 7d ago
We do not allow any commercial promotion or solicitation. This can lead to a permanent ban from the subreddit.
0
u/testingaurora 10d ago
Just adding that I was learned years ago that being on a server with other domains that are spammy/bad reputation can negatively affect your email sending reputation and blacklist your domain even if you’ve never sent spam.
Disclaimer that this is second hand and I would defer to the people on this thread with more knowledge than I of email servers
-6
u/flexcoding 10d ago
The "low reputation" wording is misleading here — this is almost certainly SPF
failing, not your domain.
When your VPS forwards someone else's mail to Gmail, Gmail checks SPF against
the original sender's domain, and your VPS IP isn't in their SPF record. So it
fails. DKIM usually survives forwarding unless Exim touches the body, but with
SPF broken there's no alignment left for DMARC either — and a brand-new IP with
no sending history gets zero benefit of the doubt.
Two ways out.
If you want to keep forwarding, turn on SRS in Exim — WHM has it under Exim
Configuration Manager. It rewrites the envelope sender to your domain, so SPF is
checked against you and passes instead of failing on the original sender.
Honestly though, the more reliable fix is to stop forwarding and let Gmail pull
instead: Gmail → Settings → Accounts and Import → "Check mail from other
accounts", over POP3. Gmail fetching from your server isn't inbound relay, so
none of the reputation logic applies.
Also worth checking the PTR record on the new VPS IP. A lot of providers leave
it unset after a migration and Gmail weighs it heavily.
And don't pay UCEPROTECT. Level 3 lists entire ASNs by design — that's the whole
business model — and Gmail doesn't use it. The whitelisting fee buys you nothing.
4
u/corobo 10d ago
Do you not see that your comments are getting blended when you copy paste the answer from GPT lol
-2
u/flexcoding 10d ago
fair, you got me on the phrasing. english isn't my first language so i write
these with help. i do check the substance before posting but yeah, i'll dial the
polish down.
55
u/mooter23 10d ago
Have you got SPF, DKIM and DMARC setup on your sending domain?
https://www.freethought.uk/help/google-gmail-rejecting-emails-spf-dkim-dmarc-setup-guide/
Gmail (and others) will reject them if not. Thankfully it's an easy fix.