Add tags and headers to improve email summary deliverability

SpamAssassin doesn't like HTML email without a) a Mime-Version header
and b) an <html> tag in the body. Although not everyone uses SA, there
are probably other spam systems that implement similar rules. And it's
always nice to play nice.
This commit is contained in:
Evan Prodromou 2011-06-21 14:07:10 -04:00
parent 0f53c07f56
commit 718203306c
1 changed files with 12 additions and 5 deletions

View File

@ -120,8 +120,16 @@ class UserEmailSummaryHandler extends QueueHandler
$new_top = $notice->_items[0]->id;
}
// TRANS: Subject for e-mail.
$subject = sprintf(_m('Your latest updates from %s'), common_config('site', 'name'));
$out = new XMLStringer(true);
$out->elementStart('html');
$out->elementStart('head');
$out->element('title', null, $subject);
$out->elementEnd('head');
$out->elementStart('body');
$out->elementStart('div', array('width' => '100%',
'style' => 'background-color: #ffffff; border: 4px solid #4c609a; padding: 10px;'));
@ -201,19 +209,18 @@ class UserEmailSummaryHandler extends QueueHandler
common_config('site', 'name'))."</p>");
$out->elementEnd('div');
$out->elementEnd('body');
$out->elementEnd('html');
$body = $out->getString();
// FIXME: do something for people who don't like HTML email
$subject = sprintf(_m('Your latest updates from %s'), common_config('site', 'name'));
// TRANS: Subject for e-mail.
mail_to_user($user,
$subject,
$body,
array('Content-Type' => 'text/html; charset=UTF-8'));
array('Content-Type' => 'text/html; charset=utf-8',
'Mime-Version' => '1.0'));
if (empty($ess)) {
$ess = new Email_summary_status();