We are currently performing maintenance on Appian Community. As a result, discussions posts and replies are temporarily unavailable. We appreciate your patience.

Hi Everyone, looking for some advice on the email listener. We have

Hi Everyone, looking for some advice on the email listener.

We have this working fine as a proof of concept now and looking to implement it in to the business.

One thing we are looking to solve is the ability to have one "parent" mail box that Appian listens to, and every mail account that we wish to "control" becomes a child of that one mail box. The reason this is not working for us at the moment is that despite the initial address it is sent to, we always get the parent mail box as who it was sent to.

This is an issue for us as the sender will map to a process and will ensure that we can build a scalable solution where we can absorb legacy email accounts to create processes without updating our configuration.

So, is there a Microsoft Exchange setting or something on the Appian side that we can tell who the original sender was of the email?

Any other advice is welcome on this.

Thanks, David. ...

OriginalPostID-58416

OriginalPostID-58416

  Discussion posts and replies are publicly visible

  • Hi David, We use ms exchange for mail delivery into appian alot. You will need to set the feeder account to send a copy of the mail recieved into the watched appian account. This way the sender address that you use for mapping to process remains intact. Hope this gives you a better idea. Regards, James
  • Thanks James, I have passed this on to our IT guys to get this going.

    Do you tend to use the sender to drive processes and label value pairs?
  • Its primary function is to deliver new content to active process. We also have scenarios where the emails act as triggers for spawning new activity as well. An invaluable tool for us.
  • Hi James - question on the email account setup and corresponding configuration.

    Our primary account that Appian is set up to listen to is BPM.email@ourcompany.com and that has a line in the config file as ...

    conf.mailhandler.alias.BPM.email=processmodeluuid0004d582-bf97-8000-faa5-2d00002d0000

    This works for emails sent to BPM.email but now anything sent to an email account that then forwards the email to BPM.email fails. The error logs say ...

    Caused by: com.appiancorp.messaging.ProcessRouteMissingException: APNX-1-8001-001: No Process Routing Information Provided: Needs one of DestinationEventPersistentID, DestinationProcessID, DestinationPMID, DestinationPMUUID

    Just to be clear, we have a forward set up but you mentioned "copy" is there a difference? Or is there something I am missing in my config?

    Thanks in advance! David.
  • Hi David, This is just my interpretation so Appian support maybe able to advise further.
    Appian itself polls a single account and uses the sender to the polled address to map the mail to process uuids.
    In my opinion you should not send mail directly to polled account but if mapped I do not think this should be an issue.
    Within your custom config you should have the settings for the polled account:
    #### Email Poller settings ####
    ejb.poller.1.mailServer=servername.domain.co.uk
    ejb.poller.1.userName=anexchangeaccount@company.co.uk
    ejb.poller.1.password=password
    ejb.poller.1.pollingInterval=10000
    Then use mapping to route incoming mail to process much like you have in your example but you will need to map the senders alias to each of your processing models. like this.
    conf.mailhandler.alias.appiancopy1=processmodeluuid000dd157-19cc-8000-a063-5770db5770db
    conf.mailhandler.alias.appiancopy2=processmodeluuid000dd157-20aa-8000-a063-5770db5780db
    Exchange should be setup to feed mails into the polled account from other folders or mailboxes. The settings for the feeder accounts on exchange should be applied to the folder or mail account under delivery options on forwarding address and check the option to deliver messages to both forwarding address and mailbox.
    This should ensure the mail alias stays as it is which in turn will match up with your alias=uuid mappings.
    Hope this helps.
    Thanks, James
  • Right ok, thanks James.

    The issue with this is updating the configuration every time we look to consume a new email account which will involve downtime.

    I was hoping there would be a way forwarding the email to the one account without needing to update the config at all.

    Does the config change just require a restart of jboss?
  • Updates to the email config require a restart of both jboss and engines. I do not think you would be faced with that much down time as you should only be mapping the feeder accounts not all incoming alias. You could also think about using tags with the email to allow further routing within process perhaps as quite alot of data can be extracted from the email.
  • Hi James, just wondering if you have had any issues processing the body of emails, particularly HTML emails?

    While this is working very well, we seem to find that there are some combinations of characters within the body that fails when we try to "clean" it. So we use ...

    striphtml(pv!body)

    And sometimes this fails. So just wondering if you or anyone else had experienced this?

    Thanks, David.
  • Hi David, we do tend to extract the content from the email body. Instead we insert it into an html document instead. I do have a use case where extraction takes place but it is targeted to a particular element of the data and not at the body as a whole entity. However...