別件で,lib/moodlelib.php の function email_to_user()を調べていて,
if (is_string($from)) { // So we can pass whatever we want if there is need
$mail->From = $CFG->noreplyaddress;
$mail->FromName = $from;
} else if ($usetrueaddress and $from->maildisplay) {
$mail->From = stripslashes($from->email);
$mail->FromName = fullname($from);
} else {
$mail->From = $CFG->noreplyaddress;
$mail->FromName = fullname($from);
if (empty($replyto)) {
$mail->AddReplyTo($CFG->noreplyaddress,get_string('noreplyname'));
}
}
このようなコードを見付けました.確かに,ダイジェストメールは個人のEmailアドレスではなく,サイトのドメインを持つ存在しないEmailアドレスです.たとえば当方のサイトですと,moodle@mech.suzuka-ct.ac.jp.
ダイジェストメールの送信は,mod/forum/lib.phpのfunction forum_cron()の後の方,
if (!$mailresult = email_to_user($userto, $site->shortname, $postsubject, $posttext, $posthtml,
'', '', $CFG->forum_replytouser)) {
こうですね.第二引数がメールの送信者の情報で,本来はオブジェクトを渡すべきなのですが,ここではサイトのショートネーム(当方ですと,mechMoodle)を渡しています.前に参照した箇所では第1のif文の条件に合致しますね.これで$CFG->noreplyaddressが電子メールアドレスで,名前がmechMoodleになるという仕組みのようです.これを利用しては如何でしょう.