There is a general problem with Yahoo email addresses in Contact Form 7 forms (and lots of other applications) due to changes made by Yahoo to their DMARC security policy.
In April 2014, Yahoo published a DMARC “p=reject” record, telling all receiving email servers to reject emails from yahoo.com addresses that don’t originate from a Yahoo server.
While this was done to protect Yahoo users from increasing email spam, the downside is there are a lot of people using Contact Form 7 who effectively send mail from a Yahoo email address, but not through Yahoo’s servers.
Gmail and many others are now rejecting emails from any yahoo.com address that originate from the numerous WordPress installs not on Yahoo servers.
You can use the following solutions to make Contact Form 7 DMARC-compliant forms which work with the increasing number of companies like Yahoo that are using DMARC rules the block forms submitted using Yahoo email addresses in the “From” field.
From: email address
As long as Yahoo keeps their DMARC reject policy in place (there has been no indication that they will remove it), you can no longer send mail from Contact Form 7, using an Yahoo address, unless you send the mail directly from a Yahoo server.
If you have WordPress installed on anything other than a Yahoo server, you will not be able to use a Yahoo Email address in the From: address field in the Mail section of the CF7 interface.
Yahoo recommends that you switch to sending mail from your own domain. You should use something like noreply@yourdomain.com or any other valid email address on the same domain as your WordPress install.
User email address
A further problem arises if you use the default From: [your-name] <[your-email]> to collect the form user’s email address and then use that as the From: email address in CF7.
If a user happens to have a Yahoo email address, it is highly likely that the email will be rejected under this DMARC policy and you will as a result not receive any CF7 from submissions from people using Yahoo email addresses.
The recommended solution is to set the “From” address to your site’s email address and the “Reply-to” address to the form user’s address.
1. In the Mail section for the form, put an email address from your domain in the “From:” box so it looks like this:
[your-name] <noreply@yourdomain.com>
In this case, we are using a forwarder called “noreply,” but it can be any legitimate forwarder or email account on the hosting domain.
2. In the Additional headers box for the form, put this in:
Reply-To: [your-email]
This method uses an email based on the sending domain as the “from” address to make the email DMARC-compliant, but leaves the user’s email in the header as a reply-to address so that you can click ‘Reply’ in your email client and reply to the inquiry.
Thanks to linux4me2 for providing this method at http://wordpress.org/support/topic/yahoo-dmarc-fix
Related Links:
From Yahoo
Yahoo DMARC Policy Change – What Should Senders Do?
Yahoo DMARC policy
Email service providers can’t send to/from Yahoo Mail addresses
Error: “554 5.7.9: Message not accepted for policy reasons” when sending email to Yahoo
From Others
Yahoo email anti-spoofing policy breaks mailing lists
Yahoo Changes May Affect Your Deliverability
All About Yahoo’s DMARC Reject Policy
Yahoo DMARC Fix?
Using the default From: [your-name] <[your-email]>
Do you have something you think might help others on this issue
This page is still a Work in Progress. We add more information as we become aware of other issues and solutions via the CF7 support forum.
If you have something you think might help others on this issue, you can use the CF7 form below to contact us.
Please note that anything that looks like a request for support or help will be ignored.
Of course this form is made using CF7 Skins – use Firebug or Chrome Dev Tools to see how we’ve built it.