Skip to content

Office 365 Notifications

Overview

  • Image Support: No
  • Attachment Support: Yes
  • Message Character Limits:
    • Body: 32768

You will need to have a valid Microsoft Personal Account AND you will require Administrative access unfortunately (to access the Mail.Send and Mail.ReadWrite Application Permission). More details can be found here about registering your app with Azure.

  1. From the Azure Portal go to App Registrations (alt link)
    • Use the search bar at the top of the Azure Portal and type App Registrations.
    • If you still can’t access anything, it’s possible your organisation restricts you from doing so. You may need to reach out to to your administrator in order to proceed.
      Office 365
  2. Click Register an application
    • give any name (your choice) in Name field
    • select personal Microsoft accounts only
    • Click Register
  3. From here (the Overview panel) you can acquire both the Directory (tenant) ID and the Application (`client_id’) you will need.
  4. 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.
  5. Now need to set permission Active directory -> API permissions -> Add permission.
  6. Click on Microsoft Graph
  7. Click on Application Permissions and search for Mail.Send; You will want to check this box too on the match found.
  8. Additionally grant access to the (Application Permission) Mail.ReadWrite scope to allow the sending of large attachments (> 3MB in size). Mail.ReadWrite allows Apprise to prepares a Draft message with the large attachment so that it can be sent thereafter.
  9. Additionally grant access to the (Application Permission) User.Read.All if you intend to pass in an ObjectID as the source and not an email. Apprise will use the ObjectID to acquire the email associated with the account; this is nessisary to be able to support the From portion of the email address.
  10. Now you’re good to go. 🙂

Valid syntax is as follows:

  • o365://{source}/{tenant_id}/{client_id}/{client_secret}/
  • o365://{source}/{tenant_id}/{client_id}/{client_secret}/{targets}
VariableRequiredDescription
sourceYesThe Email OR the **ObjectID associated with your Azure Account you whish to send the email from.
tenant_idYesThe Tenant ID Associated with your Azure Application you created. This can also be referred to as your Directory ID.
account_emailYesThe Email Associated with your Azure account.
client_idYesThe Client ID (also referred to as an Application ID) associated with your Azure Application you created. This can also be referred to as your Application ID.
client_secretYesYou will need to generate one of these; this can be done through the Azure portal (Also documented below).
fromNoIf you want the email address ReplyTo address to be something other then your own email address, then you can specify it here.
toNoThis 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
VariableDescription
overflowThis parameter can be set to either split, truncate, or upstream. This determines how Apprise delivers the message you pass it. By default this is set to upstream
👉 upstream: Do nothing at all; pass the message exactly as you received it to the service.
👉 truncate: Ensure that the message will fit within the service’s documented upstream message limit. If more information was passed then the defined limit, the overhead information is truncated.
👉 split: similar to truncate except if the message doesn’t fit within the service’s documented upstream message limit, it is split into smaller chunks and they are all delivered sequentially there-after.
formatThis parameter can be set to either text, html, or markdown. Some services support the ability to post content by several different means. The default of this varies (it can be one of the 3 mentioned at any time depending on which service you choose). You can optionally force this setting to stray from the defaults if you wish. If the service doesn’t support different types of transmission formats, then this field is ignored.
verifyExternal requests made to secure locations (such as through the use of https) will have certificates associated with them. By default, Apprise will verify that these certificates are valid; if they are not then no notification will be sent to the source. In some occasions, a user might not have a certificate authority to verify the key against or they trust the source; in this case you will want to set this flag to no. By default it is set to yes.
ctoThis stands for Socket Connect Timeout. This is the number of seconds Requests will wait for your client to establish a connection to a remote machine (corresponding to the connect()) call on the socket. The default value is 4.0 seconds.
rtoThis stands for Socket Read Timeout. This is the number of seconds the client will wait for the server to send a response. The default value is 4.0 seconds.
emojisEnable Emoji support (such as providing :+1: would translate to 👍). By default this is set to no.
Note: Depending on server side settings, the administrator has the power to disable emoji support at a global level; but default this is not the case.
tzIdentify the IANA Time Zone Database you wish to operate as. By default this is detected based on the configuration the server hosting Apprise is running on. You can set this to things like America/Toronto, or any other properly formated Timezone describing your area.