If you wish to enable Microsoft OAuth 2 authentication for your email connection then you will need to enable the OAuth 2 plugin on your Totara site and go to the Microsoft developer console to configure authentication.
- Go to the Microsoft Azure portal.
- Click New registration under App registrations.
- Give your app a name, e.g. 'Totara Email'.
- Select the appropriate option for Supported account types. Multitenant configurations should select Accounts in any organizational directory (Any Azure AD directory - Multitenant). Organisations that use a Single Tenant configuration should select Accounts in this organizational directory only (Single tenant) instead.
If Single Tenant is selected, the endpoint URLs added in a later step must be adjusted to include the Tenant ID (see step 25). If the Azure app is configured as Single Tenant but the endpoints are not updated in Totara accordingly, the connection will not work.
- Choose Web for Redirect URI.
- Add your site's URL appended with /admin/oauth2callback.php to the Redirect URLs section e.g. 'https://totaralearn.com/admin/oauth2callback.php'.
- Click Register.
- Take a note of the Application (client) ID.
- Select Authentication from the side menu.
- Ensure that the Implicit grant settings are disabled.
- Select API permissions from the side menu.
- Ensure that the SMTP.Send and offline_access permissions are available under Microsoft Graph, and if they are not then add them as delegated permissions.
- Select Certificates & secrets from the side menu and click New client secret.
- Add a description, e.g. your app name (Totara Email), and select when the password/secret will expire.
- Copy the generated secret Value for use in Totara. Note that this is the Value of the secret, not the Secret ID.
From Totara 18.7 onwards, the OAuth 2 consumer details page includes a Create new Microsoft SMTP service button. Using this option is recommended because it creates the correct endpoints by default and configures the required scopes automatically. When this option is used, only the Client ID and Client Secret Value need to be added, and steps 20 to 22, 24 and 25 below are not required. If the Create a new custom service option is used instead, follow all of the steps below.
- In Totara go to Quick-access menu > Server > OAuth 2 > OAuth 2 consumer details.
- Click Create new Microsoft SMTP service (recommended, available from Totara 18.7 onwards). Alternatively, click Create a new custom service to configure the service manually using the steps below.
- Enter a name, e.g. 'Microsoft Email OAuth'.
- Enter the password generated in the Microsoft Azure portal as the Secret and the application ID as the Client ID. The Secret must be the Value of the client secret created in Azure at step 15, not the Secret ID.
- In Scopes included in a login request enter any value. This field is not used, but a value must be provided.
- In Scopes included in a login request for offline access add the following:
https://outlook.office.com/SMTP.Send offline_access - Uncheck Show on login page (it is recommended that you do not mix the email and login OAuth services).
- Click Save changes.
- Click the Configure endpoints icon for the new service.
- Click Create new endpoints, then add the following:
| Name | URL |
|---|---|
authorization_endpoint | https://login.microsoftonline.com/common/oauth2/v2.0/authorize |
token_endpoint |
If the Azure app is configured as Single Tenant, the /common/ segment in both endpoint URLs must be replaced with the Tenant ID of the OAuth 2 app. For example, if the Tenant ID is 46314b30-b357-4da6-8f22-0184a12371c0, the authorization endpoint becomes:
https://login.microsoftonline.com/46314b30-b357-4da6-8f22-0184a12371c0/oauth2/v2.0/authorize
and the token endpoint becomes:
https://login.microsoftonline.com/46314b30-b357-4da6-8f22-0184a12371c0/oauth2/v2.0/token
- Return to the OAuth 2 services page.
- Click the Connect to a system account icon.
- Click Continue.
- Sign in with your Microsoft email account that is used for your Totara email service.
- Accept the permissions in Microsoft.
- Go to Quick-access menu > Server > Email > Outgoing mail configuration.
- Change SMTP Auth Type to XOAUTH2.
- Change Oauth2 Service and choose the OAuth service you just created.
- Set SMTP Username to the email of the account used for sending email (this should be the same as the No-reply address, i.e. the email address of the user connected via OAuth).
- Set SMTP Password to any random text. It must not be blank, but otherwise, it does not matter.
- Click Save changes.
Join the Totara Community for more resources to help you get the most out of Totara.
© Copyright 2026 Totara Learning Solutions. All rights reserved.