Create & Read Email Files Utilities

Use Case Details

This Plug-in contains Functions and Smart Services that allow users to create and read email files containing all e-mail attributes, i.e. to, cc, bcc, from, subject, body, content type, and attachments. The generated file can be read by any email client that supports EML files, such as Outlook Express and Windows Live Mail. The Plug-in and a help guide are provided with this listing.

This version is for Appian 22.3 and above. Cloud customers on a lower version of Appian that want to install this plugin should open a support case. Self-managed customers can find the latest jar for Appian 22.2 and lower version by downloading from the app market.

Features & Functionality

Smart Services:

  • Creating EML File: Create Eml File
  • Reading EML File: Read Eml File

Features:

  • Creates Email files/documents that can be read on all email clients supporting eml files.
  • Reads all email files to extract all email-related attributes such as to, cc, bcc, subject, body, attachments, content type.
Anonymous
  • Hi,

    After having upgraded Appian to the 22.3 version; I upgraded this plug-in to the 2.0.0 version.
    And found that 'Create Eml File' smart service does not work and throws the following error:
    jakarta.mail.MessagingException: MIME part of type "multipart/mixed; " contains object of type java.lang.String instead of MimeMultipar

    Please assist.
    Thank you!



  • Hi Michael,

    Thanks for upgrading the plug-in to the Jakarta library.

    After the Appian version upgraded to 22.3; I upgraded this plug-in to the 2.0.0 version.
    And 'Create Email File' service does not work and throws the following error: jakarta.mail.MessagingException: MIME part of type "multipart/mixed; " contains object of type java.lang.String instead of MimeMultipart

    Please assist.


    Here is detailed logs:

    UnattendedJavaActivityRequest] ERROR com.appiancorp.process.engine.UnattendedJavaActivityRequest - An error occurred while executing activity: id=268552939, classname=com.appcino.plugin.emlutility.smartservice.CreateEmlFile
    java.lang.RuntimeException: jakarta.mail.MessagingException: MIME part of type "multipart/mixed; " contains object of type java.lang.String instead of MimeMultipart
    	at com.appcino.plugin.emlutility.utils.EmlUtils.createEmlDocument(EmlUtils.java:147)
    	at com.appcino.plugin.emlutility.smartservice.CreateEmlFile.run(CreateEmlFile.java:48)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:136)
    	at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:52)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:136)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:130)
    	at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:27)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:130)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:21)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55)
    	at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143)
    	at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    	at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:129)
    	at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    	at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110)
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:239)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at java.lang.Thread.run(Thread.java:750)
    Caused by: jakarta.mail.MessagingException: MIME part of type "multipart/mixed; " contains object of type java.lang.String instead of MimeMultipart
    	at jakarta.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1513)
    	at jakarta.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2246)
    	at jakarta.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2206)
    	at jakarta.mail.internet.MimeMessage.writeTo(MimeMessage.java:1885)
    	at jakarta.mail.internet.MimeMessage.writeTo(MimeMessage.java:1862)
    	at com.appcino.plugin.emlutility.utils.EmlUtils.createEmlDocument(EmlUtils.java:118)
  • Hi, 

    when I use this plugin in mails that includes accent marks, the body doesn't show well:

    In the last version (before 22.3), this didn't happen. Anyone with the same bug?

  • We updated our process model to use the new smart service node and are now receiving this error:

    2022-09-23 16:32:36,553 [Appian Work Item - 1181640 - WorkID 125 - execution00 - process 783854 - model 25353 : UnattendedJavaActivityRequest] ERROR com.appiancorp.process.engine.UnattendedJavaActivityRequest - An error occurred while executing activity: id=118366, classname=com.appcino.plugin.emlutility.smartservice.CreateEmlFileOOTB
    java.lang.reflect.InvocationTargetException
    	at sun.reflect.GeneratedMethodAccessor14756.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.createInstance(DefaultActivityExecutor.java:250)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.createActivityInstance(DefaultActivityExecutor.java:211)
    	at com.appiancorp.process.runtime.framework.DefaultUnattendedActivityExecutor.validate(DefaultUnattendedActivityExecutor.java:18)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:84)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:21)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55)
    	at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143)
    	at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    	at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:129)
    	at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    	at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110)
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:239)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at java.lang.Thread.run(Thread.java:750)
    Caused by: java.lang.NullPointerException
    	at com.appcino.plugin.emlutility.smartservice.CreateEmlFileOOTB.setAvoidTxtAlternative(CreateEmlFileOOTB.java:168)
    	... 19 more

  • Release Notes - v2.0.0
    • Updated to support the jakarta mail library introduced in Appian 22.3
  • We've been working with Appian to get them to update it.  Hopefully it'll be ready sooner than later.

  • Hello Everyone,

    We are also facing the same issue after upgrade to 22.3 version. Is there any update on the remove deprecate Java API and update to latest one?.

    Thanks!!

  • This is caused by the Javax mail package change in 22.2, so the plugin will need to be updated: docs.appian.com/.../Appian_Release_Notes.html

  • Hello,

    We upgraded to 22.3 and are no longer able to use the Create Eml File functionality (smart service or expression).

    The error is:

    javax.resource.spi.work.WorkCompletedException: java.lang.NoClassDefFoundError: javax/mail/Address
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:247)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at java.lang.Thread.run(Thread.java:750)
    Caused by: java.lang.NoClassDefFoundError: javax/mail/Address
    	at com.appcino.plugin.emlutility.smartservice.CreateEmlFile.run(CreateEmlFile.java:45)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:136)
    	at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:52)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:136)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:130)
    	at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:27)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:130)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:21)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55)
    	at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143)
    	at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    	at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:129)
    	at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    	at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110)
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:239)
    	... 3 more
    Caused by: java.lang.ClassNotFoundException: javax.mail.Address not found by com.appcino.plugin.emlutility [53]
    	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1650)
    	at org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
    	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2064)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    	... 20 more
    Exception in thread "ThreadPoolTaskExecutor-106206" java.lang.NoClassDefFoundError: javax/mail/Address
    	at com.appcino.plugin.emlutility.smartservice.CreateEmlFile.run(CreateEmlFile.java:45)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:136)
    	at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:52)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:136)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:130)
    	at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:27)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:130)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:21)
    	at com.appiancorp.process.e

    Has anyone upgrade and get this error?

    Thanks.

  • Hi,

    Is it possible to retain the html tags of the email body? 

    I have a requirement where in I need to fetch the selected data out of the mail body. Is this plug-in a right fit for such requirement ?