diff --git a/mod/forum/lib.php b/mod/forum/lib.php index 4d350c707a6cc..79259e1252826 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -710,6 +710,14 @@ function forum_cron() { $eventdata->fullmessagehtml = $posthtml; $eventdata->notification = 1; + // If forum_replytouser is not set then send mail using the noreplyaddress. + if (empty($CFG->forum_replytouser)) { + // Clone userfrom as it is referenced by $users. + $cloneduserfrom = clone($userfrom); + $cloneduserfrom->email = $CFG->noreplyaddress; + $eventdata->userfrom = $cloneduserfrom; + } + $smallmessagestrings = new stdClass(); $smallmessagestrings->user = fullname($userfrom); $smallmessagestrings->forumname = "$shortname: ".format_string($forum->name,true).": ".$discussion->name; @@ -720,11 +728,6 @@ function forum_cron() { $eventdata->contexturl = "{$CFG->wwwroot}/mod/forum/discuss.php?d={$discussion->id}#p{$post->id}"; $eventdata->contexturlname = $discussion->name; - // If forum_replytouser is not set then send mail using the noreplyaddress. - if (empty($CFG->forum_replytouser)) { - $eventdata->userfrom->email = $CFG->noreplyaddress; - } - $mailresult = message_send($eventdata); if (!$mailresult){ mtrace("Error: mod/forum/lib.php forum_cron(): Could not send out mail for id $post->id to user $userto->id".