I had moved my phpBB board over to Vultr.com, with a cyberpanel control panel litespeed server. I was testing a few things to see if the board was sending out emails when new users signed up. I tried to register an account on phpBB and I did not receive a verification email. Strange, and frustrating. So let’s take a closer look.
First thing I did was making sure the email address I was sending the messages to was working as expected. I had set-up the email address in cyberpanel and then set it up to forward the emails to a gmail account. I tested out just sending a regular email to that new email address and it properly forwarded it to the gmail account designated. So that was working.
Next, I checked what would happen if I logged in directly to the email account through cyberpanel / rainloop. I did that and tried sending an email from the account in rainloop. It didn’t get received by gmail and I got a message back from gmail:
550-5.7.26 This message does not have authentication information or fails to pass authentication checks. To best protect our users from spam, the message has been blocked. Please visit https://support.google.com/mail/answer/81126#authentication for more information. gsmtp (in reply to end of DATA command)
There is a whole lot of info at that link, and I’m still going through the steps. The step that so far seems to have fixed the problem was setting up a SPF record in my DNS at cloudflare. Basically I added a txt record with something like:
v=spf1 ip4:18.104.22.168 -all
Once I did that, I received the email at the gmail account as expected. But then I tried setting up an account with another gmail account and it didn’t get any message. I sent another email from the cyberpanel / rainloop web interface and a message bounced back with the following error message:
550-5.7.1 Our system has detected that this message does not meet IPv6 sending guidelines regarding PTR records and authentication. Please review https://support.google.com/mail/?p=IPv6AuthError for more information – gsmtp (in reply to end of DATA command)
Do some gmail addresses use IPv6 and some use IPv4? Or does my server sometimes send to IPv6 instead of IPv4? That’d take a bit more digging. But fortunately, it was easy enough to set-up an appropriate SPF setting in my DNS settings by changing the above txt entry to include both IPv4 and IPv6 addresses with something like:
v=spf1 ip4:22.214.171.124 ip6:2a05:d018:e3:8c00:bb71:dea8:8b83:851e -all
And now the emails seem to be getting received at my gmail accounts, as expected, except often going into the spam box. I’ll update this if I have further problems or find a way to help prevent the messages from going into spam.