Note: You are currently viewing documentation for Moodle 2.0. Up-to-date documentation for the latest stable version is available here: Quiz submission email notification.

Quiz submission email notification

From MoodleDocs

This page requires updating for Moodle 2.0. Please do so and remove this template when finished.

It is possible for an email to be sent out to confirm that the student submitted the quiz. There are two types of notification: a confirmation to the student that their attempt has finished successfully, and a notification to the teacher(s) that someone has submitted an attempt. Emails are never sent for preview attempts.

The default Moodle setting is for email functions in Moodle Quiz are turned off for both students and teachers.

Allow notification emails to teachers

Settings > Quiz administration > Permissions

To turn on the email process for a teacher in a specific quiz, go to the permissions screen, and in the Capability column under Activity: Quiz click on the + e procedure is similar to the above. On the Override permission tab in Quiz settings, change the capability "Get email notification when an attempt is submitted" (mod/quiz:emailnotifysubmission) to "Allow" for the teacher.

Since permissions are contextual, this permission can be set on the site or course level by the site administrator..

Allow confirmation emails to students

Settings > Quiz administration > Permissions

The above process is similar for a student. Change the permission in the Activity:Quiz capability that says "Get a confirmations message when submitting" (mod/quiz:emailconfirmsubmission) to allow this for a student.


Note that if the quiz is set to separate groups, then teachers will only get a notification if either
  • the student is in the same group as the teacher, or
  • the teacher has moodle/site:accessallgroups.

How to configure the text of the emails

Site administration > Language > Language customization

This can only be done by a user that has permission to alter the language files. To reconfigure the way the email reads, you will need to understand string variables and how they work as part of another string. While not complicated, this will require attention to detail. This section assumes you also have read Language customization.

The subject and body of the emails are defined in the quiz.php language file that are in the "mod" group. The strings to edit are 'emailconfirmsubject', 'emailconfirmbody', 'emailnotifysubject' and 'emailnotifybody'. The $a string passed in when these language strings are loaded contains all the following information:

The emailconfirmbody string

Dear {$a->username}, Thank you for submitting your answers to '{$a->quizname}' in course '{$a->coursename}' at {$a->submissiontime}. This message confirms that we have safely received your answers. You can access this quiz at {$a->quizurl}.

The emailnotifybody string

Dear {$a->username}, {$a->studentname} has completed the quiz '{$a->quizname}' ({$a->quizurl}) in course '{$a->coursename}' You can review this attempt at {$a->quizreviewurl}.

The emailnotifysmall

{$a->studentname} has completed {$a->quizname}

The emailnotifysubject string

Quiz submission confirmation: {$a->quizname}

Potential strings to use in an email

The name of the course
The shortname of the course
The name of the quiz
The URL of the results overview for this quiz (.../mod/quiz/report.php?q=quizid)
The URL of the results overview URL and quiz name as a HTML link
The URL of the review page for this attempt (.../mod/quiz/review.php?attempt=attemptid)
The attempt review URL and quiz name as a HTML link
The URL of the main page of the quiz (.../mod/quiz/view.php?q=quizid)
The URL of the quiz and the quiz name as a HTML link
The time the attempt was submitted, formatted using userdate().
How long the quiz attempt lasted.
The name of the person who submitted the quiz.
The idnumber of the person who submitted the quiz.
The username of the person who submitted the quiz.
The name of the user the email is being sent to.
The idnumber of the user the email is being sent to.
The username of the user the email is being sent to.