Added HTML e-mail support.

Review Request #971 — Created Aug. 17, 2009 and submitted

Information

Review Board SVN (deprecated)
trunk
132, 748

Reviewers

Added HTML e-mail support.

This change introduces support for sending HTML versions of e-mails along with
the text versions. If the user's e-mail client supports HTML e-mails, they
will show up instead of the older text e-mails.

These new e-mails provide a lot more useful information. The review request
portions contain screenshot thumbnails, links to the diff viewer, and
resemble the review request box on Review Board.

The review e-mails contain the comment and screenshot fragments commented on,
and links for adding comments, which redirect to the review request pages.

The reply e-mails quote the review e-mails and look like standard e-mail
quoting, but contain the thread of replies, just like the text versions of the
e-mails.

This also moves all the e-mail-related templates out of reviews and into
notifications.

This has been tested on GMail, Yahoo Mail, Thunderbird 2.0, and Outlook 2007.
Tested all HTML e-mail types  GMail, Yahoo Mail, Thunderbird 2.0, and Outlook 2007. They look decent in each.

Made sure that the text versions showed up when HTML e-mails were disabled in Thunderbird.

Note that in the screenshots, the "On ..., foo wrote:" lines don't include a timestamp. This is not a bug. This is just a side-effect of my test setup. I never populated that field when sending out the e-mail here.
david
  1. 
      
  2. /trunk/reviewboard/reviews/views.py (Diff revision 1)
     
     
     
     
     
     
    This is a funny indentation level for the parameters. Also, if you're going to wrap some parameters, wrap all.
  3. /trunk/reviewboard/reviews/views.py (Diff revision 1)
     
     
     
     
    If you're going to wrap some parameters, wrap all.
  4. /trunk/reviewboard/reviews/views.py (Diff revision 1)
     
     
     
     
     
    Same comments as above.
  5. 
      
chipx86
Review request changed
david
  1. 
      
  2. /trunk/reviewboard/diffviewer/views.py (Diff revision 2)
     
     
    if not request:
  3.