Configuring enaio® mail-archive-service

enaio® mail-archive-service 10.10 »

enaio® mail-archive-service is configured using the mailjournaling-prod.yml configuration file located in the \config\ directory of enaio® service-manager.

A customizable configuration file is available to download, which you can use as a basis for the configuration.

Parameters of the configuration file:

Parameter

Type

Description

Example value

Default

mail-journaling.duplicate‑mode

String

Defines the behavior of the service in case of multiple journal reports referring to the same original e-mail, for example, due to the use of BCC or misconfiguration.

Available values:

  • IGNORE
    Recommended value. The service does not check whether a message is already stored in enaio®.

  • WARN
    The service adds a warning to the log file if a message is already stored in enaio®.
    This option can be used as a control in case of a complex journal rule set, but it has a negative impact on performance.

    The log level WARN or higher is required.

WARN

IGNORE

mail-journaling.smtp

Configuration section for the integrated SMTP server to receive journal reports from Exchange Online.

 

port

Number

Port where SMTP waits for incoming messages. It can be set to any value between 1025 and 65535.

Using the default value for SMTP (port 25) requires additional port forwarding.

25000

25000

 

username

String

User name for SMTP authentication. If specified, 'password' is also required.

The SMTP authentication will not be validated if both are missing.

smtpUser

-

 

password

String

Password for SMTP authentication. If specified, 'username' is also required.

The SMTP authentication will not be validated if both are missing.

The password can be encrypted.

smtpUserpassword

-

 

require-tls

Boolean

Specifies whether TLS encryption should be used to receive SMTP messages (true) or not (false). If specified, 'key-store-file' and 'key-store-pass' are required.

true

false

 

key-store-file

String

Required if encryption is enabled.

Specifies the path to the SSL certificate file.

<absolute file path>

-

 

key‑store‑password

String

Required if encryption is enabled.

Specifies the password for accessing the keystore file (P12).

The password can be encrypted.

passSample

-

 

allowed-senders

String

List of comma-separated entries specifying allowed senders for incoming SMTP messages.

If the parameter is not specified, all senders are allowed.

example@example.de, example@example.com

-

 

allowed-recipients

String

Optional: List of comma-separated entries specifying allowed recipients for incoming SMTP messages.

Wildcards are not supported.

If the parameter is not specified, all recipients are allowed.

If specified, then the list must contain the recipients for journal reports configured in the journal rules.

example@example.de, example@example.com

-

 

message-mode

String

Specifies what type of messages should be received via SMTP.

Available values:

  • JOURNAL
    The service receives journal reports.
  • ALTERNATE
    The service receives non-delivery reports.
  • NORMAL
    The service receives normal e-mails.

JOURNAL

JOURNAL

mail-journaling.app-connector

Configuration section for the connection to enaio® appconnector

  uri String Only necessary if enaio® appconnector is not installed on the same host.   http://127.0.0.1:8060

mail-journaling.enaio.dms

Storage Configuration

 

folder-type.name

String

Internal name of the folder type in enaio® used for the folder objects.

EXCHANGESTORAGE

EXCHANGESTORAGE_FOLDER

 

folder-type.fields

List with assignment pairs

Specifies assignments between the field name (key) in enaio® mail-archive-service and the folder field name (internal name) in enaio®.

The value from the enaio® mail-archive-service field is used as the value for the corresponding enaio® field.

Only one FOLDER_USER field is enabled and assigned by default. This field is a mandatory field.

fields:
  - key: FOLDER_USER
    internal-name: User
 
  register-type.name String

Optional: Internal name of the register type in enaio® used for the register objects.

StructureRegister

StructureRegister
  register-type.fields String

Specifies assignments between the field name (key) in enaio® mail-archive-service and the register field name (internal name) in enaio®.

The value from the enaio® mail-archive-service field is used as the value for the corresponding enaio® register field.

This field is a mandatory field.

fields:
  - key: NAME
    internal-name: name
fields:
  - key: NAME
    internal-name: Feld1
  link-folder-type.name String Optional: Internal name of a folder type where reference documents to the journal mails are created.    
  link-folder-type.fields String

Specifies assignments between the field name (key) in enaio® mail-archive-service and the folder field name (internal name) in enaio®.

The value from the enaio® mail-archive-service field is used as the value for the corresponding enaio® field of the folder for reference documents.

Only one FOLDER_USER field is enabled and assigned by default. This field is a mandatory field.

fields:
  - key: FOLDER_USER
    internal-name: User
 
  link-register-type.name String

Optional: Internal name of the register type in enaio® used for the register objects in the folder for reference documents.

   
  link-register-type.fields  

Specifies assignments between the field name (key) in enaio® mail-archive-service and the register field name (internal name) in enaio®.

The value from the enaio® mail-archive-service field is used as the value for the corresponding enaio® register field in the folder for reference documents.

This field is a mandatory field.

fields:
  - key: NAME
    internal-name: name
 
  link-mail-type.name String

Internal name of the e-mail document type in enaio® used for reference documents of the e-mail objects created by enaio® mail-archive-service.

   
  link-mail-type.fields  

Specifies assignments between the field name (key) in enaio® mail-archive-service and the e-mail document type field name (internal name) in enaio®.

The value from the enaio® mail-archive-service field is used as the value for the corresponding enaio® field for each individual message received.

MAIL_FROM, MAIL_TO, MAIL_SUBJECT, and MAIL_MESSAGE_ID are mandatory fields.

fields:     
  - key: REPORT_INFO
    internal-name: RPRT_INFO
  - key: REPORT_RECIPIENTS
    internal-name: RPRT_RECIPIENTS
  - key: MAIL_FROM
    internal-name: MAIL_FROM
  - key: MAIL_TO
    internal-name: MAIL_TO
  - key: MAIL_CC
    internal-name: MAIL_CC
  - key: MAIL_SUBJECT
    internal-name: SUBJECT
  - key: MAIL_BODY
    internal-name: BODY
  - key: MAIL_MESSAGE_ID
    internal-name: MESSAGE_ID
  - key: MAIL_HAS_ATTACHMENT
    internal-name: MAIL_HAS_ATTACHMENT
  - key: MAIL_SUBMIT_TIME
    internal-name: SUBMIT_TIME
  - key: MAIL_TOS
    internal-name: MAIL_TOS
  - key: MAIL_SIZE
    internal-name: MAIL_SIZE
  - key: MAIL_PRIORITY
    internal-name: MAIL_PRIORIT
  - key: SMTP_HEADER
    internal-name: SMTP_HEADER
  - key: MAIL_RECEIVE_TIME
    internal-name: MAIL_RECEIVE_TIME
 
 

email-type.name

String

Internal name of the document type in enaio® used for e-mail objects created by enaio® mail-archive-service.

EMAIL_DOC

EMAIL_DOCUMENT

 

email-type.fields

Key-value assignment

Specifies assignments between the field name (key) in enaio® mail-archive-service and the document field name (internal name) in enaio®.

The value from the enaio® mail-archive-service field is used as the value for the corresponding enaio® field for each individual message received.

MAIL_FROM, MAIL_TO, MAIL_SUBJECT, and MAIL_MESSAGE_ID are mandatory fields.

fields:     
  - key: REPORT_INFO
    internal-name: RPRT_INFO
  - key: REPORT_RECIPIENTS
    internal-name: RPRT_RECIPIENTS
  - key: MAIL_FROM
    internal-name: MAIL_FROM
  - key: MAIL_TO
    internal-name: MAIL_TO
  - key: MAIL_CC
    internal-name: MAIL_CC
  - key: MAIL_SUBJECT
    internal-name: SUBJECT
  - key: MAIL_BODY
    internal-name: BODY
  - key: MAIL_MESSAGE_ID
    internal-name: MESSAGE_ID
  - key: MAIL_HAS_ATTACHMENT
    internal-name: MAIL_HAS_ATTACHMENT
  - key: MAIL_SUBMIT_TIME
    internal-name: SUBMIT_TIME
  - key: MAIL_TOS
    internal-name: MAIL_TOS
  - key: MAIL_SIZE
    internal-name: MAIL_SIZE
  - key: MAIL_PRIORITY
    internal-name: MAIL_PRIORIT
  - key: SMTP_HEADER
    internal-name: SMTP_HEADER
  - key: MAIL_RECEIVE_TIME
    internal-name: MAIL_RECEIVE_TIME
 
mail‑journaling.enaio.dms.structure Configuration section for the folder register structure
  journal-folder String Value for the folder type field for the journal mails Store Journal
  use-register String

New registers for the journal mails are created in the folder for the journal mails at specified intervals, which are indexed with the date in the register field.

Values:

  • PER_DAY

  • PER_WEEK

  • PER_MONTH

  • NONE

    Registers are not created.

PER_DAY NONE
  user-folders  

Folders can be created for specified e-mail addresses, which are indexed with the assigned name.

E-mails are created as reference documents in these folders. The e-mail addresses must be included in the 'FROM', 'TO', or 'CC' field.

Multiple assignments are specified line by line.

"[invoice@domain.com]": Invoices

"[orders@domain.com]": Orders

-

mail-journaling.exchange

Configuration section for retrieving e-mails from a mailbox.

 

client-id

String

Application (client) ID of the Azure portal.

The application ID can be encrypted.

 

-

 

tenant-id

String

Directory (tenant) ID of the Azure portal.

The directory ID can be encrypted.

 

-

 

secret

String

Secret of the Azure portal application.

The secret can be encrypted.

 

-

mailboxes

user

String

Required to use a mailbox.

Multiple mailboxes can be specified and configured using the parameters.

bckp_mail@domain.de

-

mailboxes

read-folder

String

Required to use a mailbox. Specifies the mailbox folder from which to retrieve messages.

Inbox

-

mailboxes

error-folder

String

Specifies a mailbox folder to which messages that could not be processed are moved.

JournalErrors

JournalErrors

mailboxes

message-mode

String

Specifies what type of messages are read from the mailbox. Available values:

  • JOURNAL
    Used when the mailbox stores journal reports.
  • ALTERNATE
    Used when the mailbox stores non-delivery reports.
  • NORMAL
    Used when the mailbox stores normal e-mails.

ALTERNATE

ALTERNATE

 

access-scope-uri

String

Graph API connection. The value is set by Microsoft and must not be changed.

   
 

page-size

Number

Maximum size of results per Graph API query. The value should not be greater than 999.

999

999

  use-exchange-service Boolean

enables/disables a function that creates reference documents for e-mail addresses from specified domains and determines the value for folder indexing.

Office 365 Active Directory data is the basis of this function.

true false
  domains String

Specifies the domains for the 'use-exchange-service' function.

Multiple domains are specified using comma separation.

company.de, company.com -
  folder-field String

Specifies which data from the user management of an Office 365 Active Directory is used as the value for folder indexing.

Values:

  • USERNAME

  • FIRST_NAME

  • LAST_NAME

  • DISPLAY_NAME

  • SAM_ACCOUNT_NAME

DISPLAY_NAME USERNAME

Encrypting Information

Some information in the mailjournaling-prod.yml configuration file located the \config\ directory of enaio® service-manager can be encrypted:

  • Open the command prompt as the administrator and change to the \service-manager\tools\ directory.

  • Run the following command: encode.bat information

    The encrypted value is displayed in parentheses with 'ENC' before it: ENC(encryptedinformation).

  • Copy the encrypted information with the leading 'ENC' and with the round brackets and enter it into the configuration file.

  • Save the configuration and restart the service, if necessary.

If the value to be encrypted contains quotation marks or ends with a backslash, these characters must be preceded by the backslash.
Example: encode.bat "passwordwith\"quotation\"marks"