From d05442610158eb21cd3e9b9b3cd8cd3e5d56c13c Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 15 Feb 2012 15:28:32 -0800 Subject: [PATCH] encode email headers on message deliveries --- include/delivery.php | 7 ++++--- include/notifier.php | 8 ++++---- mod/item.php | 5 +++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/include/delivery.php b/include/delivery.php index 71ce300235..03199b0105 100755 --- a/include/delivery.php +++ b/include/delivery.php @@ -21,6 +21,7 @@ function delivery_run($argv, $argc){ require_once('include/items.php'); require_once('include/bbcode.php'); require_once('include/diaspora.php'); + require_once('include/email.php'); load_config('config'); load_config('system'); @@ -413,14 +414,14 @@ function delivery_run($argv, $argc){ if($r1 && $r1[0]['reply_to']) $reply_to = $r1[0]['reply_to']; - $subject = (($it['title']) ? $it['title'] : t("\x28no subject\x29")) ; + $subject = (($it['title']) ? email_header_encode($it['title'],'UTF-8') : t("\x28no subject\x29")) ; // only expose our real email address to true friends if(($contact['rel'] == CONTACT_IS_FRIEND) && (! $contact['blocked'])) - $headers = 'From: ' . $local_user[0]['username'] . ' <' . $local_user[0]['email'] . '>' . "\n"; + $headers = 'From: ' . email_header_encode($local_user[0]['username'],'UTF-8') . ' <' . $local_user[0]['email'] . '>' . "\n"; else - $headers = 'From: ' . $local_user[0]['username'] . ' <' . t('noreply') . '@' . $a->get_hostname() . '>' . "\n"; + $headers = 'From: ' . email_header_encode($local_user[0]['username'],'UTF-8') . ' <' . t('noreply') . '@' . $a->get_hostname() . '>' . "\n"; if($reply_to) $headers .= 'Reply-to: ' . $reply_to . "\n"; diff --git a/include/notifier.php b/include/notifier.php index 53178ce53a..70fd1d52c9 100755 --- a/include/notifier.php +++ b/include/notifier.php @@ -35,7 +35,7 @@ function notifier_run($argv, $argc){ require_once("datetime.php"); require_once('include/items.php'); require_once('include/bbcode.php'); - + require_once('include/email.php'); load_config('config'); load_config('system'); @@ -626,14 +626,14 @@ function notifier_run($argv, $argc){ if($r1 && $r1[0]['reply_to']) $reply_to = $r1[0]['reply_to']; - $subject = (($it['title']) ? $it['title'] : t("\x28no subject\x29")) ; + $subject = (($it['title']) ? email_header_encode($it['title'],'UTF-8') : t("\x28no subject\x29")) ; // only expose our real email address to true friends if(($contact['rel'] == CONTACT_IS_FRIEND) && (! $contact['blocked'])) - $headers = 'From: ' . $local_user[0]['username'] . ' <' . $local_user[0]['email'] . '>' . "\n"; + $headers = 'From: ' . email_header_encode($local_user[0]['username'],'UTF-8') . ' <' . $local_user[0]['email'] . '>' . "\n"; else - $headers = 'From: ' . $local_user[0]['username'] . ' <' . t('noreply') . '@' . $a->get_hostname() . '>' . "\n"; + $headers = 'From: ' . email_header_encode($local_user[0]['username'],'UTF-8') . ' <' . t('noreply') . '@' . $a->get_hostname() . '>' . "\n"; if($reply_to) $headers .= 'Reply-to: ' . $reply_to . "\n"; diff --git a/mod/item.php b/mod/item.php index d5dcfccbd5..e59b45acc5 100755 --- a/mod/item.php +++ b/mod/item.php @@ -17,6 +17,7 @@ require_once('include/crypto.php'); require_once('include/enotify.php'); +require_once('include/email.php'); function item_post(&$a) { @@ -854,8 +855,8 @@ function item_post(&$a) { $disclaimer .= sprintf( t('You may visit them online at %s'), $a->get_baseurl() . '/profile/' . $a->user['nickname']) . EOL; $disclaimer .= t('Please contact the sender by replying to this post if you do not wish to receive these messages.') . EOL; - $subject = '[Friendica]' . ' ' . sprintf( t('%s posted an update.'),$a->user['username']); - $headers = 'From: ' . $a->user['username'] . ' <' . $a->user['email'] . '>' . "\n"; + $subject = email_header_encode('[Friendica]' . ' ' . sprintf( t('%s posted an update.'),$a->user['username']),'UTF-8'); + $headers = 'From: ' . email_header_encode($a->user['username'],'UTF-8') . ' <' . $a->user['email'] . '>' . "\n"; $headers .= 'MIME-Version: 1.0' . "\n"; $headers .= 'Content-Type: text/html; charset=UTF-8' . "\n"; $headers .= 'Content-Transfer-Encoding: 8bit' . "\n\n";