How your server handles email from WordPress can get really complicated… over 15 years of building WordPress sites, I was forced to figure out how all of that works because clients didn’t care whose fault it was, and their IT departments would be kinda clueless about it. The problem is that there’s not a ton of overlap between server IT and WordPress development, so you’ll get mixed answers from all sides.
Adding the SMTP plugin can certainly help, but it won’t always, as you’re finding out.
Here are some things you can check:
- Since you’re on Hostgator, you definitely need to make sure your web server hasn’t been flagged as spam. A lot of Hostgator (and other cheap provider) sites are used to send spam, and then any email sent from that server will be flagged as spam, even if they’re from a different website. Go to https://mxtoolbox.com/blacklists.aspx and enter in your server IP.
- If you’re not familiar with DNS, this part can be complicated, but you need to know where your DNS is hosted. Your domain is your address, and your DNS is the address book that tells everyone which address points to which thing. Your website can be hosted in a different place than your email server. If you’re using an A record to point to your website, and you’re using an MX record to point to a completely different place for your email hosting, then anything sent from your website might get flagged as spam. It will look like your website is pretending to have the right to send email, even though your DNS says that a completely different email server has ownership. I can’t really help here without knowing what your domain is.
- Verify that your forms are being sent with a “from” email address that matches the website. If the DNS is fine, then your forms should all submit with an email address that looks like your website. Otherwise you’re still going to trigger spam filters. Like if your “from” email address is “[email protected]”, then Google’s mail servers will be like “there’s no way that’s correct, *we* own gmail.com, this is spam” and they’ll flag it. So you’ll need to change your “from” email address to something like [email protected].
I hope that all helps. There are still a bunch of other things it can be, some of which involve looking at mail logs on your server (which you probably can’t) or bad settings on your SMTP plugin, but those are the top three reasons I’d see email delivery issues.