Why My Contact Form Does Not Send Email
If your website contact form submissions are not arriving in your inbox, there are several common causes to check.
1. Check Your Spam Folder
Form emails frequently land in spam, especially if SPF and DKIM records are not properly configured. Check your spam/junk folder first.
2. Use a Valid "From" Address
Your form should send email from an address that exists on your domain (like noreply@yourdomain.com), not from the visitor's email address. If the "from" address does not match your domain, spam filters will reject it. Set the visitor's email as the Reply-To header instead.
3. PHP mail() May Be Limited
PHP's built-in mail() function works but has deliverability limitations. For better results, use SMTP authentication in your form. WordPress plugins like WP Mail SMTP let you send form emails through your actual email account, which passes SPF/DKIM checks and avoids spam filters.
4. Check Email Routing
If you use a third-party email service (like Google Workspace) but your email routing in cPanel is set to "Local," the form email will be delivered to the local server mailbox instead of your external provider. Go to cPanel > Email Routing and set it to "Remote" if your MX records point to an external email provider.
5. Check error_log
Look at the error_log file in your public_html folder for any PHP errors related to the mail function. Common issues include incorrect file permissions on the form script or missing PHP extensions.
