Just101
Just101

Reputation: 83

Contact Form 7 showing sent message but not receiving email

Experiencing issue with WP plugin, contact form 7. When I fill in the form and submit, I receive a success message stating it was sent yet I don't receive it in my emails.

The mail is not in my junk and I only received the message in my email when I input the email its being send to!?

The email it is going to is an exchange account. I can see the emails coming through using a contact form submission on the WP backend. But would like to resolve this issue.

Form

[text* your-name placeholder "Name"]

[email* your-email placeholder "Email Address"]

[text* your-dob placeholder "DOB"]

<p>Which Challenge(s) would you like to enter?</p>
[checkbox* select-challenge "1" "2" "3"]

</br>

Please tick here that you have read and accepted the [popup_trigger 
classes="popmake-food-challenge-tcs"]
<u>terms & conditions</u>[/popup_trigger] for entry & participation. 
[acceptance acceptance-997]


[submit "Send"]

Mail

To: [email protected]

From: Website

Subject: Challenge

Reply-To: [your-email]

From: [your-name] <[your-email]>

Eating Challenge Registration

Name: [your-name]
Email: [your-email]
DOB: [your-dob]

Challenge(s): [select-challenge]

I also checked with website host that they use wp_mail() and was confirmed they do. As other contact forms send - bar this one.

Upvotes: 4

Views: 49259

Answers (4)

Nosajimiki
Nosajimiki

Reputation: 1103

SMTP Plugins are a Band-aid Solution

The reason people use SMTP plugins is because they have not set up their own domains properly; so, they route their emails through their email hosting company under the expectation that THEIR domain is both set up properly and permissive enough to accept the email that needs to be forwarded. So, let's say your website is at [email protected] and your email is [email protected], then you can use an SMTP plugin to send an email to gmail.com, and then gmail resends it on your behalf.

As you can see, this is a clunky work around, and does not actually fix the problem of not being able to send email from your website directly. There are a few use cases where this is a problem:

  1. If you want to actually send the email from [email protected] and not expose your [email protected] address to the public.
  2. If your email provider does not support SMTP.
  3. Some anti-spam tools may block emails routed this way, because SMTP can be a sign of spoofing through a hacked account. This almost always leads to problems when using the Mail(2) feature to send confirmation emails to the client since you are pretty much guaranteed that some of them will use spam filters that will block it.
  4. You may also need to send emails through other means (not contact form 7) that does not work with your SMTP plugin.

A Better Solution

The best way to fix deliverability issues to to set up your DKIM, SPF, and PTR records properly in your DNS.

If you are using cPanel as most hosting companies seem to do these days, you need to go to EMAIL > Email Deliverability and it will show you warnings if you need to update your DNS. If you do, just copy the records it auto generates into your Domain's DNS and this should fix the problem. Unlike trying to route through someone else's server to send emails, this will set up YOUR server to send them properly thus alleviating all of the above mentioned issues.

This is just as easy to set up as most SMTP plugins, and makes it so you don't have to clutter your WordPress install with unnecessary plugins.

If you do not have cPanel access, just contact your Domain Hosting provider and ask that they setup your DKIM, SPF, and PTR. If your Domain Hosting provider and your Web Hosting provider are two different companies, you may need to request the proper DNS records from your web hosting company to either put in your self or give to your domain hosting company.

Upvotes: 3

Insight
Insight

Reputation: 222

Try setting the from: email address to [email protected]. Contact Form 7 support recommends setting the from address as being on your own domain, so that the website's mailer program doesn't think it is spoofing the email being sent (sending it from an incorrect email address).

If that doesn't work, best to use a plugin like WP Mail SMTP Plugin.

I set it up to send contact form emails through our Gmail account, which worked well. Instructions here.

Upvotes: 3

PyMatFlow
PyMatFlow

Reputation: 478

I have this problem in my website.

Some hosting companies block automatic email sending, because some user uses the host for sending email marketing. So, I think you can contact your host provider to solve this problem.

Upvotes: 0

M.C
M.C

Reputation: 31

when I have a problem about wp contact form I always solve that with using smtp plugin. I suggest you to use wp smtp mail plugin.

Easy SMTP WP plugin page on wordpress.org

If any problem after using smtp plugin, reply this post I will try to help you again.

Upvotes: 0

Related Questions