MSGraph Email Poller

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:

  • Reads the mailbox using the MS Graph API
  • Convert the email to an EML file stored as an Appian document; Item attachments (calendar invites, messages) are kept in the eml file, File attachments removed from it and stored separately in the document management system.
  • Store all email file attachments as separate Appian documents
  • Store all email metadata (subject, author, recipients, etc...) into a set of tables in the database

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.

Anonymous
Parents
  • Hello, what are the conditions when emails are moved to Exception folder? In some cases emails with big attachments are moved there, in some cases we notice that some short network breakdowns are triggering exceptions. What would be recommended way to handle those exceptions?

  • Do you mean from the Appian process side? Or the plugin? The plugin can't process these emails for various reasons so they won't make it into Appian as-is. It's really up to you what you want to do here - since the plugin returns the number of emails with errors, at a basic level, you can send an email to an admin to investigate. You can get more sophisticated with some automatic probing of the emails by creating integrations into the inbox and presenting data back to the admin.

    In some cases moving the emails back into the inbox will resolve these, but some emails contain corrupt attachments and such and will need to be dealt on a case by case basis.

  • The original issue occurs while copying an attachment, unfortunately, not much we can do about a socket timeout. Then the next problem is when we try to move the message, we get another socket timeout and the exception handling has a defect in it that skips writing to the outputs.

    We will fix the exception handling so at least there will be an error in the node outputs and we will attempt to process additional messages.

    It may be worth reaching out to MS to report an issue with their APIs (especially the second error since it is clear the issue in their method).

Comment
  • The original issue occurs while copying an attachment, unfortunately, not much we can do about a socket timeout. Then the next problem is when we try to move the message, we get another socket timeout and the exception handling has a defect in it that skips writing to the outputs.

    We will fix the exception handling so at least there will be an error in the node outputs and we will attempt to process additional messages.

    It may be worth reaching out to MS to report an issue with their APIs (especially the second error since it is clear the issue in their method).

Children
No Data