From 1376b0ddf8e070268e154f54c78a81753bef4768 Mon Sep 17 00:00:00 2001 From: Andrew Davis Date: Wed, 14 Dec 2011 18:23:01 +0800 Subject: [PATCH 1/2] MDL-30698 forum: made message ID genuinely unique to prevent mail servers dropping emails the look like duplicates --- mod/forum/lib.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mod/forum/lib.php b/mod/forum/lib.php index f36d56e81e2..5819b43605a 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -365,6 +365,9 @@ WHERE return $result; } +function forum_get_email_message_id($postid, $usertoid, $hostname) { + return ''; +} /** * Function to be run periodically according to the moodle cron @@ -603,14 +606,14 @@ function forum_cron() { 'Precedence: Bulk', 'List-Id: "'.$cleanforumname.'" id.'@'.$hostname.'>', 'List-Help: '.$CFG->wwwroot.'/mod/forum/view.php?f='.$forum->id, - 'Message-ID: id.'@'.$hostname.'>', + 'Message-ID: '.forum_get_email_message_id($post->id, $userto->id, $hostname), 'X-Course-Id: '.$course->id, 'X-Course-Name: '.format_string($course->fullname, true) ); if ($post->parent) { // This post is a reply, so add headers for threading (see MDL-22551) - $userfrom->customheaders[] = 'In-Reply-To: parent.'@'.$hostname.'>'; - $userfrom->customheaders[] = 'References: parent.'@'.$hostname.'>'; + $userfrom->customheaders[] = 'In-Reply-To: '.forum_get_email_message_id($post->parent, $userto->id, $hostname); + $userfrom->customheaders[] = 'References: '.forum_get_email_message_id($post->parent, $userto->id, $hostname); } $shortname = format_string($course->shortname, true, array('context' => get_context_instance(CONTEXT_COURSE, $course->id))); From e54816bcf8bee9505f0bfb442d9a32f6a40724dc Mon Sep 17 00:00:00 2001 From: Andrew Davis Date: Thu, 16 Feb 2012 17:08:16 +0700 Subject: [PATCH 2/2] MDL-30698 message: changed message ID to be a hash --- mod/forum/lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/forum/lib.php b/mod/forum/lib.php index 5819b43605a..89859ef5aa2 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -366,7 +366,7 @@ WHERE } function forum_get_email_message_id($postid, $usertoid, $hostname) { - return ''; + return '<'.hash('sha256',$postid.'to'.$usertoid.'@'.$hostname).'>'; } /**