Workaround for: Message rejected due to DMARC policy for yahoo.com Using Drupal 7 on CentOS 6 with stock Postfix 2.6.6 and since recently any mails sent by Drupal on behalf of users with @yahoo.com mail addresses are bounced hard:

Diagnostic-Code: smtp; 550 5.7.1 Message rejected due to DMARC policy for
    yahoo.com


And also:

Message not accepted for policy reasons.  See
    http://postmaster.yahoo.com/errors/postmaster-28.html (in reply to end of
    DATA command)


I think this is result of Yahoo changing its mail policy, so that all other big mail providers participating in DMARC (like Gmail or Mail.ru or ...) only accept @yahoo.com senders from Yahoo mail servers (and thus not from my little Drupal website).



Has anyone affected by this change found a good workaround on the Drupal site for this problem?

UPDATE:

My Postfix installation works well and is not the problem. 

The problem with Yahoo users should be solved in Drupal hook for sending contact and registration mails. I think (from reading Yahoo docs) the "From" header there should be replaced by "Reply-To" or something similar.

Note: My question affects Drupal and has to be solved with Drupal means (which is why IMO it belongs in this SE-site).
You are correct in your update that:


This is a Drupal problem, in that the script must change how it sends emails.
What Drupal uses in the "from" field should actually be in the "reply-to" field.
This can be fixed using a hook. (Specifically, hook_mail_alter().)


If you don't want to write any code, I suggest you use the Contact Reply To module by rfay.

Alternatively, I wrote a more general-use module that I described here.

I use my solution on all of my sites and have not had any trouble yet.

Some of the other suggestions are incorrect, in that hook_mail() does not catch every email, and therefore is not appropriate, and you cannot use some of the other smtp solutions, because the "from" email address is not consistent (ie., it is provided by site visitors).