Note: You are currently viewing documentation for Moodle 2.2. Up-to-date documentation for the latest stable version is available here: Messaging settings.

Messaging settings

From MoodleDocs

Enabling / disabling instant messaging

The instant messaging system in Moodle is enabled by default. It may be disabled by a site administrator in Settings > Site administration > Advanced features.

My profile settings

Users can receive message alerts for a number of different reasons and can also send and receive instant messages. How a user receives notification of incoming messages can be set in Settings > My profile > Messaging.

  • This brings up a screen with check boxes where users can choose how they wish to be notified both when logged in and logged out. They can choose between a pop up,Jabber message or an email.


  • Note: The choices a user has on this screen depends on their role and permissions within Moodle. For example, an administrator would see options for notifications about backups or important errors with the site.

Pop up

When a user is logged into Moodle, the message will pop up from the bottom right corner of the page. The user can choose to read the message immediately or to ignore it. If they choose to ignore it, the message returns until it is read.


If the Jabber server has been configured, Jabber messages can be sent.The Jabber ID can be set at the bottom of the screen.


There is a box at the bottom of this settings screen which allows for a different email address from the default to be chosen for receiving notifications.

Prevent non-contacts from messaging me

Non-contacts can be prevented from sending messages by ticking this box in General Settings at the bottom of the screen.

Site administration settings

Message outputs - popup, jabber and email - can be configured by a site administrator in Settings > Site administration > Plugins > Message outputs > Manage message outputs.

Default message outputs can be set in Settings > Site administration > Plugins > Message outputs > Default message outputs, also whether each output is permitted, disallowed or forced.

Email settings

SMTP hosts

SMTP stands for Simple Mail Transfer Protocol. The SMTP host is an email relay that will take the email from Moodle and send it to users. You will need to set this only if your server does not allow mail relay. Otherwise, PHP will send out the mail using its built-in mail server. All the email sent by forums and other modules will be sent through this host.

Most SMTP hosts make use of the default port 25 to for listening email traffic. However, occasionally a non-default port is used. In such cases, entering an SMTP host followed by a colon (i.e. :) and the port number should work. For example, if my SMTP host is and it listens on port 587 or 465 (most common) instead of port 25 I would enter the SMTP host as Currently, the parameter check is too strict to allow this via the Moodle UI; however, MDL-15923 has been created and resolved to address this. Until then, it can be set via phpMyAdmin using a query statement like: UPDATE mdl_config SET value='' WHERE name='smtphosts';

Secure SMTP hosts with SSL/TLS

For SMTP hosts that require secure authentication, SSL you must run the following query:

UPDATE mdl_config SET value='ssl://' WHERE name='smtphosts';

With moodle 2.2 you can force TLS this way:

Set the smtp server in the following way: Open up the moodle_phpmailer.php file located under /lib/phpmailer/ and add the following line to the __construct(): $this->SMTPSecure = "tls"; For SSL, just change a values from "tls" to "ssl".

Configure HTTPD/SELinux on CentOS/Red Hat (RHEL) 6.2/6.1/6

Most new installations of Centos/Red Hat have SELinux activated and is configured by default, rather strictly. In this state SELinux does not allow Apache (httpd,phpmailer) to use the sendmail function and make any sort of network connection.

If you continue to have problems with sending/authenticating use the getsebool command to find out if SELinux is one of the culprits. When the getsebool command is issued it returns on or off.

Type to check if your Apache is allowed to send mail and make a connection over the network

  • getsebool httpd_can_sendmail
  • getsebool httpd_can_network_connect

You will receive the values of httpd_can_sendmail and httpd_can_network_connect. Let's assume both options are off:

  • httpd_can_sendmail -->off
  • httpd_can_network_connect -->off

We need to change the values from off to on by using setsebool. Number 1 = on and 0 = off. Type the following:

  • setsebool -P httpd_can_sendmail 1
  • setsebool -P httpd_can_network_connect 1

You will not receive a response. You can double check if the setsebool command worked by using getsebool and see if the values changed from -->off to -->on.

Messaging capabilities

See also