Added HTML e-mail support.
Review Request #971 — Created Aug. 17, 2009 and submitted — Latest diff uploaded
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.
Screenshots
Diff Revision 2 (Latest)
orig
1
2
/dev/null Was /trunk/reviewboard/templates/reviews/reply_email.txt | ||
/dev/null Was /trunk/reviewboard/templates/reviews/review_email.txt | ||
/dev/null Was /trunk/reviewboard/templates/reviews/review_request_email.txt | ||
/trunk/reviewboard/diffviewer/views.py | ||
/trunk/reviewboard/notifications/email.py | ||
/trunk/reviewboard/reviews/models.py | ||
/trunk/reviewboard/reviews/urls.py | ||
/trunk/reviewboard/reviews/views.py | ||
/trunk/reviewboard/templates/notifications/email_base.html | ||
/trunk/reviewboard/templates/notifications/email_diff_comment_fragment.html | ||
/trunk/reviewboard/templates/notifications/reply_email.html | ||
/trunk/reviewboard/templates/notifications/reply_email.txt | ||
/trunk/reviewboard/templates/notifications/review_email.html | ||
/trunk/reviewboard/templates/notifications/review_email.txt | ||
/trunk/reviewboard/templates/notifications/review_request_email.html | ||
/trunk/reviewboard/templates/notifications/review_request_email.txt |
/trunk/reviewboard/templates/reviews/reply_email.txt |
---|
/trunk/reviewboard/templates/reviews/review_email.txt |
---|
/trunk/reviewboard/templates/reviews/review_request_email.txt |
---|
/trunk/reviewboard/diffviewer/views.py |
---|
/trunk/reviewboard/notifications/email.py |
---|
/trunk/reviewboard/reviews/models.py |
---|
/trunk/reviewboard/reviews/urls.py |
---|
/trunk/reviewboard/reviews/views.py |
---|
/trunk/reviewboard/templates/notifications/email_base.html |
---|
/trunk/reviewboard/templates/notifications/email_diff_comment_fragment.html |
---|
/trunk/reviewboard/templates/notifications/reply_email.html |
---|
/trunk/reviewboard/templates/notifications/reply_email.txt |
---|
/trunk/reviewboard/templates/notifications/review_email.html |
---|
/trunk/reviewboard/templates/notifications/review_email.txt |
---|
/trunk/reviewboard/templates/notifications/review_request_email.html |
---|
/trunk/reviewboard/templates/notifications/review_request_email.txt |
---|