Created Notify_office365 (markdown)

Chris Caron 2020-05-03 21:23:18 -04:00
parent 73fd96cd12
commit 1bfc113163

48
Notify_office365.md Normal file

@ -0,0 +1,48 @@
## Office 365 Notifications
* **Source**: n/a
* **Icon Support**: no
* **Attachment Support**: no
* **Message Format**: Text
* **Message Limit**: 32768 Characters per message
## Syntax:
- `o365://{tenant_id}:{account_email}/{client_id}/{client_secret}/`
- `o365://{tenant_id}:{account_email}/{client_id}/{client_secret}/{targets}`
### Parameter Breakdown
| Variable | Required | Description
| ----------- | -------- | -----------
| tenant_id | Yes | The **Tenant ID** Associated with your Azure Application you created. This can also be referred to as your **Directory ID**.
| account_email | Yes | The **Email** Associated with your Azure account.
| client_id | Yes | The **Client ID** Associated with your Azure Application you created. This can also be referred to as your **Application ID**.
| client_secret | Yes | You will need to generate one of these; this can be done through the Azure portal (Also documented below).
| from | No | If you want the email address *ReplyTo* address to be something other then your own email address, then you can specify it here.
| to | No | This will enforce (or set the address) the email is sent To. By default the email is sent to the address identified by the `account_email`
**Notes:**
* If no `targets` are specified, then the notification is just sent to the address identified by `{account_email}`
* Unfortunately the `client_secret` contains a lot of characters that can drastically conflict with standard URL rules (and thus Apprise might have difficulty detecting your client secret). The `?` and `@` characters can get generated by Microsoft and will almost definitely cause you issues.
* Consider encoding this `client secret` before putting it into your Apprise URL. Encoding the URL can be as simple as just pasting it into the form on [this website](https://www.url-encode-decode.com/).
* You can also just manually escape these characters on your Apprise URL yourself manually ([explained here](https://github.com/caronc/apprise/wiki/Troubleshooting#special-characters-and-url-conflicts)). Simply swap all instances of:
* `?` with `%3F`
* `@` with `%40`
### Tenant ID, Client ID, and Secret ID Acquisition
You will need to have a valid Microsoft Personal Account AND you will require Administrative access unfortunately (to access the **Mail.Send** Application Permission). More details can be [found here](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-client-creds) about registering your app with Azure.
But basically it amounts to:
1. From the **Azure Portal** go to **Microsoft Active Directory** -> **App Registrations** ([alt link](https://apps.dev.microsoft.com/portal/register-app))
1. Click **new** -> _give any name (your choice) in Name field_ -> select _personal Microsoft accounts only_ --> **Register**
1. From here (the **Overview** panel) you can acquire both the Directory (`tenant`) ID and the Application (`client_id') you will need.
1. To create your `client_secret` , go to **Active Directory** -> **Certificate & Tokens** -> **New client secret**
* The `client_secret` is an auto-generated string which may have `@` and/or `?` character(s) in it. You will need to encode these characters to when pasting this into your Apprise URL. See the note section above for more details on how to do this.
1. Now need to set permission **Active directory** -> **API permissions** -> **Add permission**.
1. Click on **Microsoft Graph**
1. Click on **Application Permissions** and search for **Mail.Send**; You will want to check this box too on the match found.
1. Set the Redirect URI (Web) to the following: `https://login.microsoftonline.com/common/oauth2/nativeclient`
1. You can do this from the **Authentication** -> **Add a platform**
1. Choose **Web Application**.
1. Enter the URI `https://login.microsoftonline.com/common/oauth2/nativeclient`
1. Now you're good to go. :slightly_smiling_face: