Mail sent by your website is judged by the same rules as mail you type.
THE PROBLEM WITH DEFAULT SENDING
Most applications default to PHP's mail() function. Messages sent that way are frequently rejected or filed as spam because they fail authentication checks.
THE FIX
Send through SMTP using a real mailbox on your domain.
- Create a mailbox such as [email protected] in cPanel.
- In your application, configure SMTP: host mail.yourdomain.com, port 465 with SSL or 587 with TLS, authentication on, the full address as username.
- Set the From address to that mailbox.
In WordPress, a plugin such as WP Mail SMTP or FluentSMTP handles this.
THE FROM ADDRESS RULE
Always send from an address on your own domain. Contact forms that send from the visitor's Gmail address fail authentication and are the most common reason form submissions never arrive.
Put the visitor's address in Reply-To instead, so replying still reaches them.
FOR HIGH VOLUME
Use SendGrid, Brevo or Mailgun rather than hosting mail.