Overview
Need to poll emails from your Exchange server? This smart service can be used in a poller process and extract the data from the Microsoft Exchange server. Messages are stored in the Appian Document System, as well as the attachments. Meta data is stored in a database table for further processing.
This plug-in provides an alternative to sending emails to an Appian process model when inbound email integration is requested. Instead of the email being forwarded to Appian, this plug-in reads the emails directly from the Exchange mailbox using the MS Graph API as described below:
Key Features & Functionality
All information how to deploy, configure and use the smart service is in the 'MS Graph Mail Poller.pdf' document in the downloaded zip. Extract the files in the ZIP and follow the instructions in the document.
Is there any possibility of making optional input parameters for the database tables or Data Store Entity that the plugin will write to, similar to how we can input the specific folder to upload the attachments to? We want to use this for a number of separate apps in our environment, and having it always write emails to the same table means we'll have to do some pretty complicated row-level security to make sure users of each app can only see the emails fetched by that app.
It also seems like it's downloading all the inline files, even embedded images from email signatures, instead of just the attachments - a single email with one .pdf attachment ends up creating about 14 files, almost all of which are .png's. Not sure if this is intended behavior. Is there maybe an option we could switch off so we only get the actual attached files?
Thanks so much!
This is not on the current backlog; the solution is built around the concept of extracting emails from the default Inbox. If you have rules on your server moving messages to different folders, make sure they leave the mails in the inbox that should be parsed by the mailpoller
Hi Raymond Braakhekke
We have a requirement to be able to dynamically pass the folder to be fetched for emails as input. Please let us know if the plugin can be updated to include this. Quick response is much appreciated. Thanks.
Thanks Raymond!
Good question. There is no predefined reason for an email not being able to be parsed. This would only happen in case of a java exception in the code, which could only occur during a database write in this phase of the process. So if the message contains content that could not be written to the database for some reason, or the database would be unavailable at the moment of executing the insert statement, this might occur.
One of the configuration properties is the Exception Folder Name where the email folder can be identified. How can I test that this folder gets populated correctly, in other words, what would cause an email to be handled as an exception?
Thank you so much Raymond
yes indeed. From the Content Type dropdown select either HTML or TEXT; HTML is the default. The idea is to only use TEXT if HTML is not supported in the mailbox. So if you do not get a body in the BODY_HTML column, try using TEXT and see if the BODY_TEXT column is populated.
I can't get the body in both the formats. Is this setting refers to content type?
Good day, could you elaborate a bit? There is a setting to get either the body as HTML or as Text, only one of the 2 will be retrieved