Last month, we talked about how to install Moodle LMS locally on your Windows computer in order to do things like testing and experimentation (installing updates, trying out courses, trying out themes and plugins) without fear that you will break your production Moodle site. Another very useful purpose for having a local instance of Moodle LMS is for development. If you are doing development of Moodle LMS plugins or themes, a feature of many plugins is to send automated notifications by email.
One of my favourite tools in my development toolchest for testing email functionality in Moodle LMS is called Papercut SMTP. This small, light weight SMTP server and email client for Windows is free, is open source and super easy to setup and use.
Once installed, just unconfigure Moodle’s SMTP server setting and you are all set to go. All email sent by Moodle will unconditionally be sent to Papercut, even if you don’t have Internet access, because everything runs locally on your computer. Want to test sending 1000 bulk emails to different email addresses? No problem because there won’t be any email server and in-box to clutter up.
Installing Papercut SMTP
Download Papercut SMTP by Changemaker Studios. You will find the latest installation files and executables by using the link under the Releases section of the page. I recommend downloading the file called Papercut.Smtp.Setup.exe (about 3.4 MB). Once downloaded, execute Papercut.Smtp.Setup.exe to begin the installation.
Click the Install button.
Click the Next button to begin the setup wizard.
Click Next to install both the SMTP application (email client) and the SMTP service.
Click install when ready to install Papercut SMTP.
The installation is very quick. Click Finish to exit the setup wizard.
There are no settings to be configured. It is ready to use.
Configuring Moodle LMS
The next step will be to configure Moodle to communicate with the Papercut SMTP service. Note that this step is only required if you have configured the SMTP setting because, by default, no changes are necessary in Moodle.
Logged in as a Moodle Administrator on your local instance of Moodle, navigate to Site Administration > Server > Outgoing email configuration, and remove everything in the SMTP hosts field, if it is not already empty.
Do not forget to click the Save Changes button at the bottom of the page after making a change.
Try it out
Once you have completed this step, all emails sent by this instance of Moodle LMS, regardless of the email address, will be delivered to Papercut.
To test, why not use the eMailTest plugin, available for free on Moodle.org? Once the plugin is installed, just navigate to Site Administration > Server > Mail Test, complete the form and click the Send a Test Message button. On a side note, you may also find this handy plugin to be useful for troubleshooting email issues on your live production site.
It does not matter what the “To email address” is set to as the email will not actually be sent out on the Internet, just to Papercut SMTP.
To check your email, find launch Papercut in your Windows Start menu. The first time you do this, you may be prompted with a Windows Security Alert. Be sure to check the box for Private Networks and uncheck the box for Public Networks before clicking the Allow Access button.
The simple Papercut email client will appear, listing all of the emails that your Moodle site will send from this point forward. New emails should appear almost instantaneously.
I hope you find this technique useful for ensuring Moodle plugins, themes and even Moodle itself works properly. While you could achieve similar results by configuring the $CFG->divertallemailsto setting in Moodle’s config.php, that method still requires that your local instance of Moodle send email through a mail server and needlessly fill your email in-box.
Did you know? Papercut SMTP does not just work with Moodle LMS. You can actually use it with any application that sends email using PHP’s mail function.
See you next month!
- Moodle LMS Email Deliverability in 2024: Best Practices, Authentication Standards and Troubleshooting – 23rd February 2024
- Terminology for Those New to Moodle LMS – 20th January 2024
- Enhancing E-Learning in Moodle LMS with an AI Chat Block and FilterCodes – 20th November 2023