Problem: I do not receive email, email does not send, or always goes to the Spam folder.

Problem: I do not receive email, email does not send, or always goes to the “Spam” folder. How to troubleshoot mail delivery.

Use this troubleshooting guide if any of the following apply…

  • You received an error: “The e-mail could not be sent.”
  • You never received the e-mail message at all.
  • The e-mail message is received to your spam folder.
  • You tried the e-mail test on the form settings page and it failed.
  • The e-mail is delayed for a period of time. (see related help page.)
  • If you have GoDaddy web hosting, click here: Tip: GoDaddy hosting and Fast Secure Contact Form
  1. Make sure you have the correct “E-mail To:” set in options.
    set-email-to

  2. Check your spam folder, maybe the email went there.
    spam-folder
  3. Use the E-mail test feature at the bottom of the settings page, if you are not receiving mail, try it. It might display troubleshooting information.

    test-email

  4. (most common problem) This setting on the contact form options page might help you….
    Set the “Custom E-mail From:” setting
    . Some web hosts do not allow PHP to send email unless the envelope sender email address is on the same web domain as your web site. And they require it to be a real address on that domain, or mail will NOT SEND! (They do this to help prevent spam.)

    Step 4, part (a): If your contact form does not send any email or keeps going to the “Spam” folder., then set the “Custom E-mail From:” setting to a real email address on the SAME domain as your web site, then test the form. This setting is also recommended for gmail users to prevent email from going to spam folder(it also helps SPF spam check features to work properly).

    setting-email-from

    Step 4, part (b): If your form still does not send any email, also check the setting just below it(added in version 2.9.7): “Enable when web host requires “Mail From” strictly tied to domain email account“. In some cases, this will resolve the problem. (ie: some users report this is required by yahoo small business web hosting, probably some other hosts also) (only try this step when Step 4, part (a) does not fix it)

    Step 4, part (c): Do you have the “Custom E-mail From” set to you@yourwebsite.com
    But the “E-Mail To” is also set to you@yourwebsite.com ? (the same email address)
    This can cause some servers to reject the mail delivery because spammers might do that.
    Try making another email on your domain @yourwebsite.com to set as the “E-Mail From” address.

    strict-webhost

  5. Maybe another plugin is conflicting (WordPress only). Do this as a test: Temporarily disable all your other plugins. Does it work now? If yes, enable the plugins one by one to determine which one conflicts.
  6. Check if your mail server IP is blacklisted. Sometimes your mail server IP address ends up on a SORBS or RBL spam list and gets blocked by various mail systems. This may not be your fault because many sites on a web hosting server share the same IP. Check if your mail server IP is blacklisted by RBL SORBS http://www.au.sorbs.net/ You can find your email server IP in the header of a received email (if you have one) sent from your site. Contact your web host for support.
  7. Still not working? Here is another option for you (WordPress only): Get a free gmail account. On the contact form settings page, find this setting: “Send E-mail function:”, make sure it is set to “WordPress”. Install the plugin called WP Mail SMTP, then set it to use gmail SMTP for mail.
    Set these settings for “WP Mail SMTP”:
    Mailer: SMTP,
    SMTP Host: smtp.gmail.com
    SMTP Port: 465,
    Encryption: SSL
    Authentication: Yes
    Username: your full gmail address
    Password: your mail password.
    Now use gmail to check for your contact form mail, or set gmail to forward the mail to your other address.
  8. Still not working? Maybe your web server has a broken mail function, contact your web host for support.

I am not receiving mail, my host says a fifth parameter -f must be added to the PHP mail function. This will set the name of the “mail from” email address.

  1. Some web hosts do not allow PHP to send E-mail unless the “From:” E-mail address is on the same web domain as your web site. And they require it to be a real address on that domain, or mail will NOT SEND! (They do this to help prevent spam.) If your contact form does not send any E-mail, try step 4 in the above help steps.

Using Google Apps mail with your domain?

If you have configured your web site mail to go to Google Apps, make sure you have removed the mail accounts from your web panel at your web host. Failure to remove the mail accounts from your web panel at your web host will cause your form mail to go there and be stuck, you will NOT receive this mail at your Google Apps mail account. The reason the mail from the contact form will do this is because the form is part of your web site and it will first try to deliver to the mail address locally rather than using DNS to find your Google Apps mail address. But before you go deleting anything, contact your web host for specific instructions. See this Google document: Can’t receive mail from a web form

GoDaddy users:

See this help page: Tip: GoDaddy hosting and Fast Secure Contact Form

Dreamhost users:

You must configure your form with the “Custom E-mail From:” setting to an email address on the same web domain as your web site. Dreamhost does not allow PHP to send email unless the envelope sender email address is on the same web domain as your web site. And they require it to be a real address on that domain that is configured in the Dramhost Web Panel, or mail will NOT SEND! (They do this to help prevent spam.)

Bluehost users: one user reported the email would only send if the “Custom E-mail From:” setting was NOT set.

Why does the email appear to be from my instead of the user who sent the form?
Did you previously set the “E-Mail From” as in step 4 of this FAQ? (some servers require it).
If you did and also had to set the setting “Enable when web host requires Mail From strictly tied to domain email account”, then the email you receive WILL appear to be from the address you set as the “E-mail From”. But you should be able to click “Reply” and the message will go to the sender’s email address because I set the email header “Reply To” to be the sender’s email address. (see exception below).

Every email this form sends has a “Reply To” set to the person who filled out the form unless you disabled the “E-mail” field by setting it to “Not Available” on the form edit page. If it is set like that, then the reply can never go to the person who filled out the form because you turned off collecting their email address.

Some people want to move the email field location on the form by disabling the the standard “E-mail” field by setting it to “Not Available”, then use an extra field for “E-mail”. If you want to use an extra field for “E-mail”, be sure to set the field type to “email”, not “text” so that the form process knows it is an email address. Otherwise the reply can never go to the person who filled out the form because you turned off collecting their email address.


Discuss this in the WordPress Forums

Do you need help?

Donations by PayPal:

If you find this free contact form program/plugin useful to you, please consider making a small donation to help contribute to further development. My time is very limited and I get dozens of support emails every day. If you are not able to donate, that is OK. Thanks for your kind support! - Mike Challis

Donations by cash or check:
Mike Challis
PO Box 819
Long Beach WA 98631

Comments are closed.