The E-mail Client communication point is typically used to populate a database with information received by email. Information contained in the body of an email message or in an attachment can be extracted and processed by the Rhapsody engine.

Alternatively, information can be routed from Rhapsody and placed in either the message body or in an attachment before being emailed to one or more recipients. A typical use of this feature is to alert an administrator when specified events, such as failures, occur in the Rhapsody engine.

In this mode, Rhapsody can also be configured so the email message can contain both an attachment and body text by way of message properties on the route. As this mode uses message properties to populate the email body text, the amount of available text is limited to the property length set in code.

Supported Operational Modes: Input, Output

Input Mode Properties

Property

Description

Mail Server

The hostname or IP address of the mail server.

If the mail server is behind a firewall, use the IP/DNS name of the firewall. Ensure the firewall is configured to enable NAT (Network Address Translation).

Store Protocol

The protocol used to retrieve mail from the mail server:

  • IMAP.
  • POP3 (default).

POP3 Port

The port to connect on when using the POP3 protocol. The default port is 110.

IMAP Port

The port to connect on when using the IMAP protocol. The default port is 143.

Use SSL

Specifies whether Secure Sockets Layer (SSL) or Transport Layer Security (TLS) should be used to provide secure communications for this connection. Refer to TLS/SSL Support in Rhapsody for details.

  • Enabled - enable SSL/TLS support.
  • Disabled (default) - disable SSL/TLS support.

It is recommended that SSL be enabled for the E-mail Client communication point whenever it is supported by the remote server.

SSL Protocol Mode

Refer to SSL Protocol Versions for details.

SSL Cipher Suites

Refer to SSL Cipher Suites for details.

Trusted Certificates

Identifies the trusted certificates used by the mail server's SSL connection. If it is not configured with the mail server's certificate, then the SSL connection operates in anonymous server authentication mode. It is highly recommended that the mail server's certificate always be provided here to allow server authentication to be performed.

Refer to Server Authentication for details.

Read Timeout (ms)

The timeout in milliseconds while waiting for a response from the mail server.

The default is 10000.

Connection Timeout (ms)

The connection timeout in milliseconds while attempting to establish a connection to the mail server.

The default is 30000.

User

The username or ID of the user for authenticating with the mail server.

Password

The password of the user for authenticating with the mail server.

Folder

The name and path of the mail folder which contains the message (Inbox by default).

The POP3 protocol does not support folders.

Refresh Rate

Specifies the frequency (in milliseconds) at which the folder is checked for new messages. The default is 60000 ms (1 minute).

Delete Message

Determines whether or not messages are to be permanently deleted from the input folder once they have been processed by Rhapsody:

  • Enabled - delete the messages.
  • Disabled (default) - do not delete the messages.

Receiving Mode

Determines how the Rhapsody message is set using the received email. It can either be part of the incoming message (normal mode), the entire email body or the entire email envelope:

  • Normal (default) - if the email content type is set to any kind of multi-part message (in other words, if it matches multipart/*), then either the first (Message as Attachment configuration option set to False) or second body part (Message as Attachment configuration option set to True) of the message is used as the source. If the email content is not a multi-part message then the source is simply the e-mail body. The selected source is then retrieved from email as either a string (if it is some form of text message) or directly as an input stream, and this is written into the Rhapsody message body.
  • Receive Raw E-Mail Body - the communication point writes the entire contents of the incoming email body to the Rhapsody message body. When multiple MIME parts are received, the Rhapsody message body contains all those MIME parts, including the MIME boundaries, allowing the route to perform any processing on the communication point.
  • Receive Raw E-Mail Header and Body- the communication point writes the entire content of the email to the Rhapsody message body. This includes all the incoming headers and the entire body, which may include multiple body parts separated by MIME boundaries.

    If you manually attempt to unpack the e-mail message (most likely a multi-part MIME message), there is a risk you may do so incorrectly such that some parts of the received e-mail message are not processed correctly. For example, if the MIME boundaries are not correctly parsed, any file attachments to the incoming e-mail message may either be lost or more likely embedded as base64 blocks inside the message.

    Therefore, if you intend to use the raw e-mail modes, you must use appropriate tools either to parse that message. These tools may take the form of external e-mail processing tools executed via a commandlinefilter, or a custom filter that uses proper e-mail libraries to generate or process the message (for example, the JavaMail library). You should not use the standard Batch/De-batch filter or JavaScript filter to pack or unpack the MIME body parts, because they may not perform the task correctly.

Message as Attachment

Determines whether or not the contents of the email attachment should become the Rhapsody message body:

  • Enabled - convert the email attachment into a Rhapsody message body.
  • Disabled (default) - send the email attachment as is.

Extracted Headers

Email headers to extract from the incoming message and set as Rhapsody message properties. Options can be set for each property to determine whether it is decoded, and how repeating headers are handled:

  • E-mail Header Name - the email header you want to extract from a message property.

    • Uses case-insensitive matching.
    • Not unique - there is no requirement that the same header be only extracted once.
    • Only ASCII characters are permitted.

    If an email header is configured to be extracted but was not found in the incoming email, then the corresponding message property is not set at all (not even to null or an empty string).

  • Property Name - the message property that you want to store the extracted email header in.

    • The following message properties are reserved: ReceivedDate, From, Subject, Size, ContentType, AttachmentFileNames, mailClient:priority, mailClient:To, mailClient:CC.
    • Message property names are case-sensitive.

    Message properties are unique. You cannot extract multiple email headers into the same message property or extract the same email header twice into the same property.

  • Transformation - determines whether the header is to be decoded or folded:
    • Decode and Unfold - The incoming header value is first unfolded (to remove the wrapping due to the 80/1000 character line limit) and then decoded. This option should be selected for text/unstructured fields.
    • Unfold - The incoming header value is unfolded but not decoded.
    • None - No transformations are performed on the incoming header value.
  • Repeat Handling - determines how to handle repeating headers:
    • Retrieve First - The message property is set to the first occurrence of the email header that was found.
    • Retrieve Last - The message property is set to the last occurrence of the email header that was found.
    • Retrieve All - All repeats of the email header are retrieved and set in the message property as a property list.

JavaMail debugging

Enables JavaMail debugging to standard output:

  • Enabled - enable JavaMail debugging.
  • Disabled (default) - disable JavaMail debugging.

Output Mode Properties

Property

Description

Mail Server

The hostname or IP address of the mail server.

If the mail server is behind a firewall, use the IP/DNS name of the firewall. Ensure the firewall is configured to enable NAT (Network Address Translation).

Protocol

The protocol used to communicate with the mail server. The default is SMTP (Simple Mail Transfer Protocol).

Port

The port to use when sending messages. The default is 25 (the standard SMTP port).

Use SSL

Specifies whether Secure Sockets Layer (SSL) or Transport Layer Security (TLS) should be used to provide secure communications for this connection. Refer to TLS/SSL Support in Rhapsody for details.

  • Enabled - enable SSL/TLS support.
  • Disabled (default) - disable SSL/TLS support.

It is recommended that SSL be enabled for the E-mail Client communication point whenever it is supported by the remote server. This can be done either by enabling this setting or by selecting SMTPS for the Protocol.

SSL Protocol Mode

Refer to SSL Protocol Versions for details.

SSL Cipher Suites

Refer to SSL Cipher Suites for details.

Trusted Certificates

Specifies the trusted certificates used by the mail server's SSL connection. If it is not configured with the mail server's certificate, then the SSL connection operates in anonymous server authentication mode. It is highly recommended that the mail server's certificate always be provided here to allow server authentication to be performed.

Refer to Server Authentication for details.

Read Timeout (ms)

The timeout in milliseconds while waiting for a response from the mail server.

The default is 10000.

Connection Timeout (ms)

The connection timeout in milliseconds while attempting to establish a connection to the mail server.

The default is 30000.

User

The username or ID of the user for authenticating with the mail server.

Password

The password of the user for authenticating with the mail server.

Sending Mode

Determines the Rhapsody message body that is used to build the outgoing email message:

  • Normal (default) - when the normal sending mode is configured, the outgoing message is either the Rhapsody message body, or the alternate body text provided in the configuration, with the option of attaching the message body to the email as a file (in other words, a separate MIME part). Additional options allow the content type and priority of the email to be set, and allow for it to be encrypted and signed using S/MIME.
  • Send Raw E-Mail Body - the Rhapsody message body is inserted directly as the e-mail body without any changes. This means that a multi-part body with MIME boundaries can be provided here in order to send a multi-part message. No encoding or verification of the provided e-mail body is performed - you must provide a valid email body. You must also set the ContentType header correctly, which is required for multi-part messages.
  • Send Raw E-Mail Header and Body - the Email Client communication point uses the Rhapsody message body as the entire content of the e-mail, including all headers and the body. The body of course can include multiple parts to the message, separated using MIME boundaries. When the message is ultimately sent, the communication point uses all recipients defined in the email headers. No encoding or verification of the provided email message is performed; you must provide a valid email message.

If you manually attempt to build a multi-part MIME message, there is a risk that you may do so incorrectly such that the message is still technically valid. This could result in a valid message being sent, but one that does not contain what you intend to send. For example, if the MIME boundaries are not correctly constructed, any files that should be attached to the message may instead be embedded as base64 blocks inside the message.

Therefore, if you intend to use the raw e-mail modes, you must use appropriate tools to generate the e-mail message. These tools may take the form of external e-mail processing tools executed via a command line filter, or a custom filter that uses proper e-mail libraries to generate or process the message (for example, the JavaMail library). You should not use the standard Batch/De-batch filter or JavaScript filter to pack or unpack the MIME body parts, because they may not perform the task correctly.

From

The sender of the message. Example: RhapsodyEngine (no spaces are permitted in this field).

Reply To

The recipients of any replies to the message. This can come from a message property. Multiple recipients can be specified as a list of addresses separated by semicolons.

To

The recipient of the message. This can come from a message property. Multiple recipients can be specified as a list of addresses separated by semicolons.

CC

The 'Carbon Copy' recipients of the message. This can come from a message property. Multiple recipients can be specified as a list of addresses separated by semicolons.

Subject

The text that appears as the subject of the message.

The default is Rhapsody Mail Message.

Send Rhapsody Message

Determines whether the Rhapsody message should be included in the email. The message may not be wanted in the email for security reasons, when only certain information is to be extracted from the Rhapsody message for the email.

Replacement Body Text

Specifies what to send in the message body instead of the Rhapsody message. This can be text, or refer to a message property using the $propertyName notation.

Send As Attachment

Determines whether the information to be emailed is sent as an attachment or as the message body:

  • Enabled - send as an attachment.
  • Disabled (default) - send in the message body.

Attachment Name

Specifies the name of the attachment containing the message information. The default value is Rhapsody Message.

Only available if Send as Attachment is enabled.

Body Text

The text entered here appears in the email message body and typically identifies the content of the attachment.

Only available if Send as Attachment is enabled.

MIME content type

The MIME (Multi-purpose Internet Mail Extensions) content type of the content being sent. By default, this is set to text/plain for plain text emails. However, it can be changed to another MIME type such as text/html to allow HTML emails to be sent and rendered correctly in an email client.

The MIME content type does not dictate the MIME type of the entire email. The email may be composed of multiple MIME parts. For example, if Send As Attachment is set to true, then the MIME content type applies to the attachment only and not the substitute body which remains as text/plain. In short, the MIME content type only applies to the MIME body part in which the Rhapsody message is sent.

S/MIME

Determines whether the email is to be sent using the S/MIME (Secure Multipurpose Internet Mail Extensions) protocol.

  • Enabled - send the email using S/MIME.
  • Disabled (default) - send the email as is.

S/MIME Option

Sets the level of security for the message. The security levels are:

  • Encrypted.
  • Signed (default).
  • Encrypted and Signed.

Only available if S/MIME is enabled.

S/MIME Signing Option

Specifies how the message is signed. There are two ways of encoding signed messages:

  • Clear signed (default) - clear-signed messages carry the signature as a standard MIME attachment outside the message body. The disadvantage of this is that a mail gateway is free to translate the character sets of the message body. If this occurs, the digital signature is broken (since the signature guarantees the original contents of the message are unaltered) and a false warning of message tampering results.
  • Opaque signed - opaque signed messages treat the entire message as an attachment which is not altered by mail gateways that attempt to translate character sets or recode MIME headers. This guarantees the message, but is illegible to the gateway. It is also illegible to non-S/MIME clients which cannot unwrap the envelope.

MAPI/Internet mail gateways are a good example of situations that require opaque signed messages. As MAPI handles messages and attachments in a proprietary (that is, non-MIME) format, the actual MIME headers are generated at the SMTP gateway, not in the secure mail client. Therefore, a clear signed message signature cannot account for the MIME header's content, which automatically invalidates the digital signature as the message passes through the SMTP gateway.

Only available if S/MIME is enabled. If S/MIME Option is set to Encrypted, the value of S/MIME Signing Option is ignored.

Private Key

Specifies the sender's private key used to sign the message. This private key must be obtained from a recognized Certificating Authority and imported into the Rhapsody private key store using the Certificate Manager.

Only available if the message is signed.

Digest Algorithm

The name of the message digest algorithm to use to sign the content of the message. Available algorithms are: MD5 and SHA1.

Only available if the message is signed.

Recipient Certificates

Identifies the recipients' certificates that the sender uses to encrypt messages intended for those recipients. These certificates must be obtained from the recipients and imported into the Rhapsody certificate store using the Certificate Manager.

Only available if the message is encrypted.

Encryption Algorithm

The name of the symmetric cipher and the block mode to use to encrypt the content of the message. Available algorithms are: DES-EDE3-CBC and RC2-CBC.

Only available if the message is encrypted.

Message Priority

The priority assigned to the email:

  • High.
  • Normal (default).
  • Low.

E-mail Headers

Additional email headers to set on the outgoing email using Rhapsody message properties. This email headers configuration property is optional and if missing or present and empty then we simply do not set any additional email headers.

  • Property Name - the message property that contains the extracted email header you want to use.

    • If the message property is not found when sending a message then the corresponding email header is not created at all.
    • If the message property is actually a property list then a separate repeat of the email header is created for each value in the property list.
  • E-mail Header Name - the name of the email header you want to insert into a message property.

    • Only ASCII characters are permitted.
    • If the same email header is used for multiple message properties, then multiple instances of the header are created at runtime (in the order defined in the configuration).

    The following special email headers cannot be set in this way: From, Reply-To, To, Subject, Date, ContentType, CC, and BCC.

  • Transformation - determines whether the header is to be decoded or folded:
    • Encode and Fold - the value is encoded using RFC2047, and then folded in an attempt to keep each line shorter than 80 characters in length (and forced to be shorter than 1000 characters in length).

      If the encode option is not selected, then the user is responsible for performing any necessary encoding on the value prior to giving the message to the communication point. The Email Client communication point does not perform any validation on this value.

      The encode and fold option uses UTF-8 character encoding if any encoding is required and verifies the value is composed of ASCII characters before encoding.

    • Fold - the value is folded to keep it under 80/1000 characters in length.
    • None - no transformations are applied to the value.

JavaMail debugging

Enables JavaMail debugging to standard output.

  • Enabled - enable JavaMail debugging.
  • Disabled (default) - disable JavaMail debugging.