MDL-30698 forum: made message ID genuinely unique to prevent mail servers dropping emails the look like duplicates

This commit is contained in:
Andrew Davis 2011-12-14 18:23:01 +08:00
parent 0dde394db5
commit 1376b0ddf8

View File

@ -365,6 +365,9 @@ WHERE
return $result;
}
function forum_get_email_message_id($postid, $usertoid, $hostname) {
return '<moodlepost'.$postid.'to'.$usertoid.'@'.$hostname.'>';
}
/**
* Function to be run periodically according to the moodle cron
@ -603,14 +606,14 @@ function forum_cron() {
'Precedence: Bulk',
'List-Id: "'.$cleanforumname.'" <moodleforum'.$forum->id.'@'.$hostname.'>',
'List-Help: '.$CFG->wwwroot.'/mod/forum/view.php?f='.$forum->id,
'Message-ID: <moodlepost'.$post->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: <moodlepost'.$post->parent.'@'.$hostname.'>';
$userfrom->customheaders[] = 'References: <moodlepost'.$post->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)));