Update Review Board to be compatible with DMARC policies for e-mail.

Review Request #8416 — Created Sept. 19, 2016 and submitted — Latest diff uploaded

Information

Review Board
release-2.5.x
fbb8a58...

Reviewers

DMARC is a standard that allows servers to specify what should happen
when an e-mail sent on behalf of a user on the server fails sender
verification. Review Board hasn't historically had any smarts for this,
resulting in failed e-mails if a DMARC record flat-out rejected e-mails,
or e-mails sent to spam if a DMARC record was set to quarantine e-mails.

Using new support in Djblets, this change enables proper DMARC support
in Review Board. If a user's DMARC record could potentially prevent
users from seeing an e-mail resulting from their actions, Review Board
will play it safe and compose an e-mail sent from the server's default
e-mail address instead. The From address will still reference the user,
but as "<Full Name> via Review Board".

This should help a lot with public servers that have users with DMARC
records set up, such as on RBCommons (once appropriate updates have been
made there).

Added new unit tests, which pass.

Thoroughly tested expected message headers when implementing the main
logic in Djblets.

Real testing will need to happen in production.