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


  • 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.
  • v2.1.0 Release Notes
  • Error : error occurred in executing an Activity Class.


    from - =pp!initiator or "

    Document Name : "Test EML Doc"

    saveinto - VGPOC_Const_ApplicationDocumentFolder

    to: =""

  • Hi! I tried to setup the Smart Service, however in the PM it always fails with the error - 

    An error occurred while creating the note. (APNX-1-4101-005)
    In the content.err, analytics.err, channels.err I am getting a lot of 'bad message header' messages which I am assuming belong to this.

    How can I make this work? I am passing the following arguments into the smart service:

    - Body
    - Document name (="message")
    - From
    - Max Subject Length (unchanged - 65)
    - Save Into
    - Sent Date (set to now())
    - Subject
    - To
    - Avoid Txt Alternative (tried both true and false)
    In the Outputs, I am saving the AC!emlFile into a Document process variable.
    Assignment is set to Automated activity - Run as whoever started the process.
  • How do I create an EML file that opens in edit mode in outlook? Currently it opens in read mode. I essentially want to pass "X-Unsent: 1" header

  • v2.0.5 Release Notes
    • Updated bodyTypes as they were not handling correctly while creating the EML

  • Hi ,
    We haven't implemented any workaround for this issue as it cannot be fixed from Designer side. The author of this component has fixed this issue and it will be listed soon.

  • Hi Team,

    We are creating an EML file with HTML text as body and the created eml file is showing the body with HTML tags instead of formatted text.

    We have found a fix for this issue: 

    We can set the Content-type header of bodyPart to text/html to display the body content as HTML formatted text instead of text with HTML tags.

    bodyPart.addHeader("Content-Type", "text/html");

    It would be convenient to have Content type of body as a separate AC input/ Parameter for setting the same in the created EML file. 

  • Good morning team,

    We recently upgraded our Appian environment to 22.4 and we are seeing errors while our processes are triggering 'Create Eml File'.

    Please see the logs below:

    2023-03-20 13:07:08,170 [ThreadPoolTaskExecutor-3154] ERROR com.appiancorp.process.workpoller.WorkItemListener - The following exception occurred while attempting to complete work item [[WorkId: 565, EngineId: execution02, Request: UnattendedJavaActivityRequest:73036 as AppianAdmin by AppianAdmin, ProcessId: 3042421, ProcessModelId: 48, Response: null]] - Exception: java.lang.NoClassDefFoundError: javax/mail/Address
        at java.util.concurrent.ThreadPoolExecutor.runWorker(
        at java.util.concurrent.ThreadPoolExecutor$
    Caused by: java.lang.NoClassDefFoundError: javax/mail/Address
        at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(
        at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(
        at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$
        at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$
        at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(
        at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(
        at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(
        at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(
        at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(
        at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(
        at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(
        at com.appiancorp.process.engine.ContinuationRequest.execute(
        at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(
        ... 3 more
    Caused by: java.lang.ClassNotFoundException: javax.mail.Address not found by com.appcino.plugin.emlutility [47]
        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(
        at org.apache.felix.framework.BundleWiringImpl.access$200(
        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(
        at java.lang.ClassLoader.loadClass(
        ... 20 more