This connector allows to download email messages from Microsoft Exchange account by GraphAPI. It is used when given mailbox is supporting REST API i.e. Azure Office365 installations.
Required Microsoft Graph API Application permissions
- Mail.Read
Using placeholders
For string properties in configuration you can use single cell
placeholder which can be wrapped by other text.
Typically it can be used to read messages for different users. So each input row can contain username and password to be used in configuration.
Example
- ${input.UserName}
- ${input.Password}
Storage data
This connector saves last read email for each username or mailbox.
{
"LastReadEmail": {
"test.user@intelstudios.com": {
"LastRead": {
"IDs": [
"ZAAAfWGVlAAA="
],
"Received": "2020-03-17T07:50:07Z"
},
"FoldersMap": {}
},
"test.user2@intelstudios.com": {
"LastRead": {
"IDs": [
"ZADJSpsadIIDAAA="
],
"Received": "2020-04-17T03:50:07Z"
},
"FoldersMap": {}
}
}
}
Configuration
Exchange Mail Download configuration
Filter From
Comma-separated set of filter expressions. ie *test,*prod
would match anything ending with test
or prod
. Empty filter matches everything.
Filter To
Comma-separated set of filter expressions. ie *test,*prod
would match anything ending with test
or prod
. Empty filter matches everything.
Filter Subject
Comma-separated set of filter expressions. ie *test,*prod
would match anything ending with test
or prod
. Empty filter matches everything.
Folder
Select email folder from which emails will be read
- Inbox (Default)
- Sent items
- Outbox
- Drafts
- Deleted items
- Junk
- Custom
Custom folder
Path for custom folder.
Inbox\TestFolder
Inbox is wellknown folder name and is language specific for current user mailbox. When user has czech language culture set on its mailbox you must use
Doručená pošta\TestFolder
Shared mailbox address
Shared mailbox address. Fill only when downloading messages from shared mailbox.
Emails to check
- All untreated emails - all emails which have not yet been processed
- Only untreated emails with no attachments - all not yet processed emails which must NOT have attachment
- Only untreated emails with attachments - all not yet processed emails which MUST have at least one attachment
Number of messages to process
Maximum number of messages which will be processed in one task run (0 = unlimited, n = exact number).
Mark processed messages as read
If set to true
, processed messages will be marked as read.
Mark processed messages with category
If set to true
, processed messages will be marked with category.
Mark with category
Category which the processed messages will be marked as.
Example
- Green category
- Red category
- ...
Default is Green category.
Move processed messages into folder
If set to true
, processed messages will be moved into selected mailbox folder.
Move to folder
Folder into which the processed messages will be moved.
Example
- Processed
- Inbox\Processed
- Inbox\Completed
- ...
Only when Shared mailbox is not filled
Transfer attachments
If set to false
, output schema property Attachment will be always null.
Filter Attachment name
Comma-separated set of filter expressions. ie *pdf,*jpg
would match anything ending with pdf
or jpg
. Empty filter matches everything.
Ignore attachments linked from body
If set to true
and if attachment, ie. image, is linked from body content, then is ignored.
Azure Auhtentication configuration
Prerequisites
To successfully use this configuration, you must have defined Application registration on your Tenant ID Instance on https://portal.azure.com:
- Open Microsoft Azure portal.
- Go to Manage Azure Active Directory for your Tenant ID.
- Click on App registrations on the left side menu.
- Click on New registration:
- Fill Name
- Set Supported account types to Accounts in this organizational directory only (Single tenant)
- Click on Register button
- When App registration already exists click on existing app registration in list
- Click on Authentication on the left side menu:
- Check ID tokens (used for implicit and hybrid flows) property.
- Click on API permissions on the left side menu:
- Click on Add a permission
- Select Microsoft Graph tile from Microsoft APIs on the right side menu:
- Select Application permissions.
- Check corresponding API permissions.
- Click on Add permissions button.
- When its needed click on Grant admin consent button over assigned permissions list.
- Use filled properties from App registration application into configuration:
- Click on Certificates & secrets on the left side menu:
- Add new client secret value.
- Take this new created Value and insert it into Client Secret configuration property.
- From the Overview left side menu:
- Take Application (client) ID and insert value into Azure Client Application ID configuration property.
- Take Directory (tenant) ID and insert value into Tenant ID configuration property.
- Click on Certificates & secrets on the left side menu:
Azure Active Directory Instance
URL of AAD Instance that the authentication is provided.
https://login.windows.net/
Tenant ID
Tenant identifier that the data should be returned for. Is visible on azure portal https://portal.azure.com in application Overview in App registrations.
61e057ea-2890-4d8e-95af-f35789a661f0
Azure Client Application ID
The unique identifier for Azure Client Application. Is visible on azure portal https://portal.azure.com in application Overview in App registrations. The application must have defined API permissions for specific operations.
e0bd7921-1a85-4ed9-8bbe-77b9ebdbaa4f
Resource ID
ID of the resource to get the data.
https://graph.microsoft.com
Api Version
API Version.
Default: v1.0
Authentication Mode
Supported authentication modes
- Username and password
- Client secret
Username
Client user name
Password
Client password
Mailbox
Define Subscription Bind Mailbox which is used for emails processing.
Client Secret
Client secret
Input & Output Schema
Input
Input schema is opional
Output
Result of Exchange reader connector are email messages from given mailbox. Attachments are encoded to Base64 and saved to Attachment
of output schema.
E-Mail (ver. 1.4.0)
Column | Data type | Allow null | Description |
---|---|---|---|
ID | String | No | ID of message |
String | No | Actual email address from Username field in configuration | |
Subject | String | Yes | Subject |
From | E-Mail Person 1.0.0 |
No | Sender of email data |
To | E-Mail Person 1.0.0 |
No | The recipient/s of the email data object |
Cc | E-Mail Person 1.0.0 |
Yes | Recipients that are copied on the email data object |
Bcc | E-Mail Person 1.0.0 |
Yes | Recipients that are blind-copied on the email data object |
DateSent | DateTime | No | Date when email was sent |
DateReceived | DateTime | No | Date when email was received |
ReplyTo | E-Mail Person 1.0.0 |
Yes | Serialized content of HTTP response |
BodyText | String | Yes | Serialized content of HTTP response |
Body | String | Yes | Body |
Importance | String | No | Importance of email (low, normal, high) |
Attachment | E-Mail Attachment 1.0.0 |
Yes | Email attachments |
E-Mail Person (ver. 1.0.0)
Column | Data type | Allow null | Description |
---|---|---|---|
Name | String | Yes | Name of person |
Address | String | No | Email address |
E-Mail Attachment (ver. 1.0.0)
Column | Data type | Allow null | Description |
---|---|---|---|
Name | String | No | File name with extension |
Content | Base64 | No | Encoded file content |
Release notes
3.0.7
- Plugin binaries update as a result of included connector change.
3.0.4
- Fixed finding folder for configuration custom folder property.
3.0.3
- Fixed shared nuget package versions.
3.0.2
- Fixed right processing of nullable properties.