Moodle™ Course Mailbox: internal course mailbox

IBERFORMA SISTEMAS > Open source extensions for Moodle™ > Moodle™ Course Mailbox: internal course mailbox

Open source extension for Moodle™

Moodle™ Course Mailbox: internal course messaging with real tracking

Course Mailbox converts teacher-student communication into a course activity: threaded messages, attachments, read receipts, optional mandatory response and completion connected to student progress.

Plugin verified by Moodle HQ: Course Mailbox has passed the review process for publication in the official catalogue. View its Moodle Marketplace listing.

Moodle 4.1 LTS
PHP 7.4 – 8.1
GPL v3 or later
Release v0.1.0
Course Mailbox view with a course conversation and required reply indicator
Conversations integrated in the course, with reading, required response and traceability.

The problem

External email takes communication out of the course: it does not stay in context, reading is not measured well and it cannot be part of the training itinerary.

The solution

An internal mailbox per activity, integrated in Moodle, where teaching staff can send messages to students, groups or the whole class.

The advantage

Reading and response can count towards completion, allowing to condition access to the next course activity.

What it is for

Course Mailbox is designed for courses where communication with the tutor must not be lost outside the platform: competitive exams, subsidised training, individual tutoring, incident tracking, mandatory instructions or notices that the student must read before continuing.

  • Internal messaging within the course, without depending on an external email server.
  • Threaded conversations, received, sent, drafts and highlighted folders.
  • Sending to specific students, groups, groupings or the whole class.
  • Attachments, search, quick filters and mass actions.
  • Read receipt and required response when the case requires it.
  • Activity completion by reading, response or teacher manual validation.

Workflow within the course

The extension does not present itself as an embedded external email, but as a Moodle activity with its own teaching flow: draft, send, review responses and check the status of each recipient.

Course Mailbox compose screen with recipient selection and required response
Sending to specific people, groups or the whole course, with required response by default.
Student reply in Course Mailbox with a text box and file attachment picker
Response within the thread and possibility to attach files without leaving Moodle.
Course Mailbox view with recipient chips and read or reply statuses
Visual tracking of recipients: who has read, who has responded and what is pending.

A mailbox that can block progress

The important difference is not just sending messages. Being a Moodle activity, the mailbox can be combined with access restriction by completion: the student does not move to the next topic until they read or respond to the tutor's communication.

This transforms the message into a learning control point, useful when there are critical instructions, personalised feedback or communications that must be traced.

Technical sheet

Componentmod_coursemail
TypeActivity module
Public versionv0.1.0, published on 13 June 2026
CompatibilityMoodle 4.1 LTS
PHP7.4 – 8.1 according to release
LicenseGNU GPL v3 or later
Official reviewVerified by Moodle HQ for publication

Course Mailbox administration settings screen for attachments and the demo course
Simple pagination, attachments and demo course configuration.

Installation

The release includes an installable ZIP called coursemail-v0.1.0.zip. It is preferable to use that file, because the automatic GitHub ZIP generates a folder with a name not suitable for installing directly as a Moodle module.

  1. Download the release ZIP.
  2. Install from Site Administration → Plugins → Install plugins, or copy the folder coursemail inside mod/.
  3. Run the Moodle update from Notifications or with php admin/cli/upgrade.php.

Professional support

The code is open source, but Iberforma can help with installation, validation in real environments, functional adaptation, integration with the platform design or maintenance in online training projects.