-

Note: You are currently viewing documentation for Moodle 3.10. Up-to-date documentation for the latest stable version of Moodle may be available here: Email setup gmail.

Email setup gmail: Difference between revisions

From MoodleDocs
(→‎Tips and tricks: add See also email settings)
m (→‎Is Google mail suitable for your requirements?: clean up, typos fixed: front page → front-page)
 
(44 intermediate revisions by 12 users not shown)
Line 1: Line 1:
Google's mail servers can be set up as the SMTP server for Moodle.  This reduces or eliminates the need for an email service on a server and is especially useful if [http://www.google.com/apps/ Google Apps] is used by the institution using Moodle.
Google's mail servers can be set up as the SMTP server for Moodle, although in many cases may not be suitable for a production system (see first heading below).


This will require a hack to the code.


== [[Email settings]] ==
 
Location: ''Administration > Server > [[Email settings|Email]]''  
== Is Google mail suitable for your requirements? ==
 
Before spending any time trying to get Gmail to work as your SMTP server, please read the following two points carefully and make sure you understand the limitations. It is also worth reading [https://moodle.org/mod/forum/discuss.php?d=65156&parent=988492 this forum post] which suggests what is probably a more suitable solution.
 
Google mail has a couple of limitations which make it unsuitable for many Moodle installs. Please check the following two points before continuing.
# '''No support for multiple "From" addresses.''' When sending emails, Moodle attempts to send them "From" the email address of the user writing the message, this allows the recipient to reply directly to the sender via email. Google, both in their Gmail and Apps for Education product do not allow this - so any emails sent from the system will be from the account you use to authenticate on the SMTP server. To make things more confusing, the name will be the recipients, but the email address will be the SMTP account's email address, for example: "Dr Fred Bloggs" <moodlemail@mycollege.edu>. If you wanted to use Gmail's SMTP regardless, you would be advised to use a dedicated account for the purpose, and have an auto response so that messages to the address bounce back with an instruction to click on the link in the email and reply through Moodle.
# '''Daily limit of 500 sent messages.''' There is a daily limit on any one google account of [http://googlesystem.blogspot.com/2008/06/gmails-limitations-for-sending-messages.html 500 individual email messages, or 2000 recipients across all emails]. Your account can get blocked if you go over this on a regular basis. If you have more than 500 users, it will only take one message to the front-page news forum to exceed this quota.
 
== GMail SMTP with Moodle ==
Using Gmail's SMTP servers is a very straight forward process. First navigate to the following location:
 
Location: ''Settings > Site administration > Server > Email > Outgoing mail configuration''
 
 
To get the SMTP servers functioning, only four values need to be set:


'''SMTP hosts:''' smtp.gmail.com:465  ''NOTE: Leave out the port (:465) in 1.9.2 or lower''
'''SMTP hosts:''' smtp.gmail.com:465  ''NOTE: Leave out the port (:465) in 1.9.2 or lower''
'''SMTP security:''' SSL


'''SMTP username:''' Your email address @gmail.com or your own domain if using Google Apps
'''SMTP username:''' Your email address @gmail.com or your own domain if using Google Apps
Line 12: Line 27:
'''SMTP password:''' password for the above email account
'''SMTP password:''' password for the above email account


== Code Modification ==
On the Moodle site go to <tt>/lib/phpmailer/</tt> and modified the following files:


=== class.smtp.php ===
You may get an email from Gmail saying that an external application is trying to access your account and Google will actually
Around line 83 DIRECTLY after the '''Connect''' function header, so the next line after the { add:
prevent this login process from succeeding.  
$host = 'ssl://' . $host;


== Code Modification (1.9.2 or lower) ==
To prevent this from happening, log into your gmail.com account and then visit: [https://accounts.google.com/DisplayUnlockCaptcha https://accounts.google.com/DisplayUnlockCaptcha]
These two additional modifications need to be made in 1.9.2 or lower as the '''SMTP hosts''' setting above will not allow the port to be included.


=== class.phpmailer.php ===
And you will then see the following message:
around line 162
*Change <tt>var $Port = 25;</tt> to <tt>var $Port = 465;</tt>


=== class.smtp.php ===
Sign in using the application you want to authorize access to your account within the next ten minutes.
around line 30
Google will remember the application after it signs in, and will allow it to access your account in the future
*Change <tt>var $SMTP_PORT = 25;</tt> to <tt>var $SMTP_PORT = 465;</tt>
as long as it uses the correct password.


== Tips and tricks ==
After you have done this, you will then be able to send emails through the Google SMTP server.


* Some sites may need an additional step to un-comment the '''php_openssl.dll''' extension in <tt>php.ini</tt>.
== See also==


== See also==
*Email settings in [[Messaging settings]]
[[Email settings]]
* Root CA certificates should be up-to-date [https://moodle.org/mod/forum/discuss.php?d=366514#p1478917 to avoid connections issues]
* Look at MDL-61921 for [https://developers.google.com/gmail/imap/xoauth2-protocol XOAUTH2] support
 
[[ja:GmailでのEメール設定]]

Latest revision as of 16:27, 4 February 2021

Google's mail servers can be set up as the SMTP server for Moodle, although in many cases may not be suitable for a production system (see first heading below).


Is Google mail suitable for your requirements?

Before spending any time trying to get Gmail to work as your SMTP server, please read the following two points carefully and make sure you understand the limitations. It is also worth reading this forum post which suggests what is probably a more suitable solution.

Google mail has a couple of limitations which make it unsuitable for many Moodle installs. Please check the following two points before continuing.

  1. No support for multiple "From" addresses. When sending emails, Moodle attempts to send them "From" the email address of the user writing the message, this allows the recipient to reply directly to the sender via email. Google, both in their Gmail and Apps for Education product do not allow this - so any emails sent from the system will be from the account you use to authenticate on the SMTP server. To make things more confusing, the name will be the recipients, but the email address will be the SMTP account's email address, for example: "Dr Fred Bloggs" <moodlemail@mycollege.edu>. If you wanted to use Gmail's SMTP regardless, you would be advised to use a dedicated account for the purpose, and have an auto response so that messages to the address bounce back with an instruction to click on the link in the email and reply through Moodle.
  2. Daily limit of 500 sent messages. There is a daily limit on any one google account of 500 individual email messages, or 2000 recipients across all emails. Your account can get blocked if you go over this on a regular basis. If you have more than 500 users, it will only take one message to the front-page news forum to exceed this quota.

GMail SMTP with Moodle

Using Gmail's SMTP servers is a very straight forward process. First navigate to the following location:

Location: Settings > Site administration > Server > Email > Outgoing mail configuration


To get the SMTP servers functioning, only four values need to be set:

SMTP hosts: smtp.gmail.com:465 NOTE: Leave out the port (:465) in 1.9.2 or lower

SMTP security: SSL

SMTP username: Your email address @gmail.com or your own domain if using Google Apps

SMTP password: password for the above email account


You may get an email from Gmail saying that an external application is trying to access your account and Google will actually prevent this login process from succeeding.

To prevent this from happening, log into your gmail.com account and then visit: https://accounts.google.com/DisplayUnlockCaptcha

And you will then see the following message:

Sign in using the application you want to authorize access to your account within the next ten minutes.
Google will remember the application after it signs in, and will allow it to access your account in the future
as long as it uses the correct password.

After you have done this, you will then be able to send emails through the Google SMTP server.

See also