XAMPP contains a package called Mercury which allows you to set up a local SMTP server which can relay messages to external servers such as Gmail. This is useful if you want to test the mailing features of moodle on your local machine.
Trying to configure Mercury takes 27 or more steps which can be extremely confusing without a guide. I found this guide to be very helpful.
In addition to what the guide says you must add the line “sendmail_from = postmaster@localhost” to both ‘xampp/php/php.ini’ and ‘xampp/apache/bin/php.ini’ before restarting apache and mercury from the xampp control panel.
If you’re successful, you should be able to use PHP’s mail function without error.
Configuring Moodle:
In order to use Moodle’s email functionality, we need to configure the settings under the Administration Panel → Server → Email.