General plugins (Local): Contact Form

Maintained by Picture of Michael Milette Michael Milette
Contact Form is a Moodle plugin that allows your site to process and send information submitted through HTML web forms to the site's support email address or primary administrator if the support email address is not defined.
496 sites
23 fans

The Contact Form plugin for Moodle processes information submitted through a custom web form, sending it by email to the site's support email address, if defined, or to the primary system administrator.

Examples uses for this plugin include:

  • Contact us form.
  • Support request form.
  • Request a course form.
  • Information request form.
  • Lead generation form.
  • Membership application form.
Share with us how you use this plugin on your site.

Note: This is not a web form builder but a form processor. You must have some knowledge of how to create HTML forms or at the very least be able to cut and paste the example included in the README file.

The initial work for this project was sponsored by the kind folk at l'Action ontarienne contre la violence aux femmes and TNG Consulting Inc..

Potential privacy issues

Reminder: Email message protocols may cross the Internet and store messages on mail servers in unencrypted plain text. If you are sending messages outside of your local area network, it is highly recommended that you do not use this plugin to collect sensitive information such as social insurance or credit card numbers. It has nothing to do with this plugin's functionality but just with the way email protocols work. This plugin on its own does not store any information - anywhere.


Screenshot #0
Screenshot #1
Screenshot #2


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 Alisa Lokshin
    Sat, 10 Mar 2018, 5:30 AM
    Thanks, Michael! I will look into testing the DEV branch.

  • Picture of David Heuring
    Thu, 29 Mar 2018, 8:13 PM
    I have recently upgraded to Moodle 3.4.2+ because the new recaptchaV2 update is included in that version. The one-tick challenge box appears on the new user sign up page so I know it is working correctly. Looks and works great, by the way! However, the recaptcha version in the Contact Form is still the old V1, which is about to lose Google support at the end of the month. I'm wondering why the Contact Form isn't showing recaptchaV2. Everything is set up correctly but it still shows the text-based recaptchaV1. I've unenabled and then enabled recaptcha in the settings but that didn't make a difference. Is this maybe related to the filtercodes plugin and how that works with recaptcha? Any ideas?
  • Picture of Michael Milette
    Fri, 30 Mar 2018, 10:55 PM
    Hi David, thanks for letting me know. I had just assumed that the existing function calls would be updated for v2 but I guess I was wrong. Sorry about that.

    An updated version of the Contact Form for Moodle plugin as well as the FilterCodes plugin should be available later today (Friday March 30th, 2018 EDT.). The new versions will automatically use reCAPTCHA v2 as of Moodle 3.1.11+, 3.2.8+, 3.3.5+, 3.4.5+ and of course 3.5+ when it is release.

    I've finished the required fixes and am testing it right now to make sure it all works. IMPORTANT: You will need to update both of these plugins.

    If you have any problems with the reCAPTCHA, please submit an issue in the Bug Tracker. A link is available for each of the plugin's Bug Tracker on

    Best regards,

  • Picture of Aurelien DARIE
    Sun, 1 Apr 2018, 2:38 AM
    Dear Michael,
    Merci/Thanks for this plugin, however no email being sent. I have tried all your recommendations, emails are being sent via eMail test. Furthermore no error is showing. Does SMTP need to be set in order to the emails to be sent ?
  • Picture of Michael Milette
    Mon, 2 Apr 2018, 10:59 PM
    Hi Aurelien,

    If emails are being sent via eMail Test, then Contact Form for Moodle should work as well. They both use the same method to send message in Moodle so there should not be any need to configure or change your SMTP settings. I suspect that your form may not be configured properly. To learn more about the issue, take a look at the Troubleshooting section of the plugin's Wiki at:

    If you need more help or would like to continue the conversation, please post your message in the Discussion Forum. You'll find a link to it on the Contact Form for Moodle plugin page on

    Best regards,

    Michael Milette
  • Picture of Felipe Luciani
    Tue, 15 May 2018, 4:31 AM
    Has anyone had a problem installing plugin?

    When I put the plugin folder in the path indicated in the installation documentation, I get this message "Sorry, the requested file could not be found".
  • Picture of Michael Milette
    Tue, 15 May 2018, 11:03 AM
    Hi Felipe,

    Thank you for taking the time to ask your question. The path you need to specify in the tag varies depending on where you put the form. The easiest solution is to use the FilterCodes {wwwroot} tag. For more help, post a message in the Discussion forum (link on the plugin's page on For more options, see the documentation section "Creating a new form" at

    Best regards,

  • Picture of Felipe Luciani
    Thu, 17 May 2018, 6:49 AM
    Hello Michael,
    I had problems installing plugin ... After I put the plugin folder in ../moodle/local/contact, the whole moodle does not work!

  • Picture of Michael Milette
    Sun, 20 May 2018, 10:16 PM
    Hi Feilipe, PLEASE POST IN THE DISCUSSION FORUM or CREATE AN BUG TRACKER ISSUE (see links on plugin page). I know it can be very frustrating when something like this happens. I am not sure what you mean by a folder called ../moodle/local/contact. Assuming you meant the correct folder location, you should not put the plugin folder in there but the contents of the plugin folder in there. For more information on manually installing a Moodle plugin, see
  • Picture of Polaris Lee
    Sun, 1 Jul 2018, 4:27 PM
    Hello Michael,
    I love this.
    But I got a error message like this. 'deny. "sesskey" field is missing or contains an incorrect value.'
    I searched all document about this error. But I did'n find solution.
    What's problem? Please help me.

    moodle 3.5(20180621)
    mariadb (10.1.31)
    smtp mail is ok
  • Picture of Polaris Lee
    Sun, 1 Jul 2018, 9:34 PM
    I solved it.
    value="" -> value="{sesskey}"
    in the sample template
    I hope to help some people.
  • Picture of Michael Milette
    Wed, 4 Jul 2018, 12:40 PM
    Hi Polaris,

    Glad to see that you were resourceful and found a workaround. However, your solution actually results in bypassing one of the anti-spam strategies. The value should actually be empty and will be filled by the JavaScript snippet on the next line in the sample template:
    < script>document.getElementById('sesskey').value = M.cfg.sesskey;< /script>
    If you tried that and it doesn't work, it is very possible that you have other JavaScript errors in your page which is causing this snippet to fail. When it works, it requires that SPAMbots be able to run JavaScript. If they can't, the sesskey is never filled and you don't get junk emails.

    While your approach will certainly work, it just let through more SPAM emails. If you would like to continue this conversation, please feel free to move it to the Discussion forum. You'll find the Discussion link on the Contact Form plugin page.

    Best regards,

  • Picture of Polaris Lee
    Wed, 4 Jul 2018, 8:35 PM
    Hello Michael,
    Thank you for your kind reply.
    I am not a developer. I can not fix it.
    I will try hard to fix it though it will be hard to fix right now.
  • Picture of Philip Jones
    Sat, 25 Aug 2018, 12:56 AM
    Is there any way to send the email to multiple recipients?
  • Picture of Michael Milette
    Sat, 25 Aug 2018, 2:30 AM
    Hi Philip,

    Thank you for your question. You can send the email from Contact Form for Moodle to multiple recipients by creating a mailing list (sometimes called a group mailing list). Then configure Contact Form to send the message to that mailing list's email address. See your email administrator or service provider for instructions on how to do this.
1 2 3 4
Please login to post comments