diff --git a/config-dist.php b/config-dist.php index 1cdf4b3d460..501865d6d78 100644 --- a/config-dist.php +++ b/config-dist.php @@ -360,6 +360,9 @@ $CFG->admin = 'admin'; // When working with production data on test servers, no emails should ever be send to real users // $CFG->noemailever = true; // +// Divert all outgoing emails to this address to test and debug emailing features +// $CFG->divertallemailsto = 'root@localhost.local'; +// // Specify prefix for fake unit test tables. If not specified only tests // that do not need fake tables will be executed. // $CFG->unittestprefix = 'tst_'; diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 4d0e1d6589b..0b8f76e4974 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -4614,6 +4614,12 @@ function email_to_user($user, $from, $subject, $messagetext, $messagehtml='', $a return true; } + if (!empty($CFG->divertallemailsto)) { + $subject = "[DIVERTED {$user->email}] $subject"; + $user = clone($user); + $user->email = $CFG->divertallemailsto; + } + // skip mail to suspended users if (isset($user->auth) && $user->auth=='nologin') { return true;