Contact Forms Failing
Posted 04th October, 2018
Wordpress sends emails for numerous reasons: for instance, when a message is sent to a user, on a password reset, or when a contact form is filled out. Emails either erroring, or not being delivered, can therefore be extremely frustrating.
A mail delivery successful message means that the mail was sent and in theory should be delivered. Any other message, or a timeout, means that the message sending failed.
Mail Methods
Wordpress offers two options for sending emails: PHP Mail and SMTP Mail.
- PHP Mail uses the server to send mail through sendmail as a script. There is no authentication, which means that the sender is not verified. The recipient or the server may therefore reject your messages as there is a higher liklihood of them being spam than with authenticated messages.
- SMTP Mail uses a username and password to send, just like a mail client. Senders must be verified.
SMTP Mail in most cases is therefore superior to using PHP mail.
Improving Mail Delivery
The following can be done to improve mail delivery:
- Switching from PHP to SMTP Mail delivery
- Setting up an SPF record.
- Checking email blacklists for your domain.
Email logs will give a more detailed breakdown of any issues.
Fixing Errors
Should the mail sending not work at all, the error received is often Failed to send your message
. If this happens only with one plugin or script, try changing that individual script.
If the problem is global, the following can be done:
- Confirm SMTP settings under
Settings
>Writing
. - Install a third party SMTP plugin.
- Enable Debug mode to identify any plugin issues.