General plugins (Local): Moodle eMail Test

Maintained by Picture of Michael Milette Michael Milette
Moodle eMailTest allows administrators to test Moodle's email system. A trace of the SMTP dialogue will be displayed if the email message cannot be sent for any reason.
3203 sites
47 fans
Moodle 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4

The Moodle eMailTest plugin allows administrators to test Moodle's mail system. A trace of the SMTP dialogue will be displayed if the email message cannot be sent for any reason.

Once the test email has been sent, you will need to check your email inbox  to confirm that the email message was successfully delivered. This plugin will not do that for you.

Potential privacy issues

Note that the email sent to the recipient contains details about the administrator and the site including account username, web browser, IP address, Moodle version and preferred language.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4


Picture of Michael Milette
Michael Milette (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of David Mudrák
    Thu, 5 Nov 2015, 9:21 PM

    Thanks Michael for sharing this simple yet useful plugin with the Moodle community. Please see your issues tracker where several improvements suggestions have been reported while they were detected during the review. With the hope the issues will be addressed in a future update of the plugin, I am going to approve the plugin now. You are cleared to land, welcome to the Plugins directory!

  • Picture of Michael Milette
    Fri, 6 Nov 2015, 1:21 PM
    Thanks David! I've addressed all of your concerns as well as a few extra I discovered in the recent release. I also tested it with versions of Moodle right up to 3.0 RC1. Thank you again for your feedback. I really appreciate it.
  • Picture of Sonia Pichardo
    Fri, 8 Jan 2016, 7:29 AM
    OK when I send a message to verified gmail or other email account. I get the message "The test message was successfully delivered to the SMTP server", but no message arrives to the email address. What am I missing regarding the plugin?
  • Picture of Michael Milette
    Sat, 9 Jan 2016, 1:29 AM
    Hi Sonia! Thank you for your question.

    The plugin is likely working as it was made to. It simply tests whether Moodle was able to successfully deliver an email to the SMTP server. It cannot determine what happens to that email message after the server accepts it. For example, the server could reject it if it considers it to be SPAM or there could be a problem with the SMTP server's ability to forward the message. Your next step would be to check the SMTP server logs to see what it did with your message which is not part of the plugin's functionality since this isn't part of Moodle.

    If you want to double check the SMTP dialogue between Moodle and the SMTP server, just click Home > Site Administration > Development > Debugging and check the box for "Debug email sending". Then go back and repeat the test. The results should be display, even if the plugin doesn't detect a problem.

    Hope this helps.

    Best regards,

  • Picture of Patricio Lopez
    Tue, 16 Feb 2016, 10:47 PM
    Hello I installed this on a Moodle 3.0.1+ (Build: 20151231) and after install it gave me an error 500. Regards.
  • Picture of Michael Milette
    Sun, 22 May 2016, 12:11 AM
    New version of MailTest just release. Now supports Moodle 2.5 to 3.1, additional sender email options, provides clearer information, and includes a new FAQ in the README file.
  • Picture of Jason De Donno
    Thu, 1 Sep 2016, 8:01 PM
    Hi! Can I just ask, that, if an email is successful, does it also mean that CRON is running correctly for sending emails?
  • Picture of Michael Milette
    Fri, 30 Sep 2016, 9:08 PM
    Great question Jason. Some emails are sent out immediately while others are scheduled and only sent out when Cron runs. Other things that are often affected by Cron jobs are report generation. Eventually, if you never run cron, your Moodle site will also stop working so it is important to make sure that this is setup properly.

    As a Moodle Administrator, you can check if Cron is running regularly by going to the Site Administration > Notifications.

    If cron hasn't run in the last 24 hours, you will see something like:

    "The cron.php maintenance script has not been run for at least 24 hours.

    If you don't see anything about it, chances are that Cron is running automatically at least once a day.

    There is also the possibility that an error is preventing Cron from working properly. The likelihood of this happening is much lower since Moodle 2.7. You should be able to manually run Cron and see the results by logging in as a Moodle Administrator and going to:

    Just replace "" with the URL to the root of your Moodle site.

    There are some settings in Moodle which can prevent this URL from working so, if it doesn't seem to work, don't assume that Cron doesn't work. It might just be some Moodle settings. If Cron is running regularly, the displayed log might be pretty short as there are items which are only run once a day which may not appear in the list. This is especially noticeable if you run Cron manually twice in a row.

    Thanks again for asking. I will add a check for cron similar to the one on the Notifications page to let you know if there is a problem with the scheduling of the cron script in the next version of the mailtest plugin as this could be a potential reason why emails don't seem to be delivered.

    By the way, it's never too late to setup Cron. Not only will you find that your Moodle site works better, it may actually work faster too. If you are running Moodle on a Unix/Linux based server, documentation on how to set it up can be found at If you are running Moodle on Windows, you may have noticed that "cron" doesn't exist. However Windows does also include a Scheduler. You will find details on how to set that up by going to

    Best regards,

    Michael Milette
  • Picture of Mahmood Naderan
    Wed, 4 Oct 2017, 5:38 PM
    Do you have any idea for the following error:

    2017-10-04 09:29:37 SERVER -> CLIENT: 250 Recipient accepted
    2017-10-04 09:29:37 CLIENT -> SERVER: DATA
    2017-10-04 09:29:37 SMTP -> get_lines(): $data is ""
    2017-10-04 09:29:37 SMTP -> get_lines(): $str is "452 Sent messages limits exceeded
    2017-10-04 09:29:37 SERVER -> CLIENT: 452 Sent messages limits exceeded
    2017-10-04 09:29:37 SMTP ERROR: DATA command failed: 452 Sent messages limits exceeded
    2017-10-04 09:29:37 SMTP Error: data not accepted.

    The test email message could not be delivered to the mail server.

    The email test OK and it was working perfectly.
  • Picture of Michael Milette
    Wed, 18 Oct 2017, 4:48 AM
    Hi Mahmood,

    This error message usually appears when you have too many email recipients or there is a limit on how many emails you can send through your mail server.

    Since MailTest only sends messages to a single recipient at a time, it is probably more likely that your mail server provider has either placed a limit on how many emails you can send through it or that you have exceeded the storage quota of your email account or the physical drive.

    This actually happened to me recently. My ISP created a mailbox for my account when I signed up. Each time a cron job would run, it would send an email to that account. Over the years it added up to over 500,000 emails. There were so many emails that they had to clear it from the command line as there was no email client that could handle this many emails. It really surprised me as I was not even aware that the email address even existed.

    As for your situation, the next step would be to contact your service provider and get them involved in troubleshooting the mail server.

    Hope you find this useful. Best regards,

  • Picture of Michael Milette
    Sat, 11 Nov 2017, 3:40 PM
    Great news! eMailTest for Moodle has now been tested and approved for use with Moodle 2.5 to 3.4. Other than the testing, there are no changes to the code, only to the documentation.
Please login to post comments