Introduction

The JITL MailInboxJob template can be used to create a job that reads a mail inbox.

  • The job template makes use of the IMAP or POP3 protocol to read mail.
  • The job template can be used to specify settings from different sources:
    • Connection Settings
      • These include settings such as the IMAP/POP3 host, port etc.
      • It is recommended that the JS7 - Job Resources is used for this purpose as such settings suggest the use of the same values for any mail inbox that should be read from the same mail server.
    • Mail Settings
      • These settings are specific for individual mail inboxes and include, for example, the folder of the mail inbox.
  • The job template can be used with a JS7 - Credential Store.
  • FEATURE AVAILABILITY STARTING FROM RELEASE 2.1.1

Usage

When defining the job either:

  • invoke the Wizard that is available from the Job Properties tab in the Configuration view and select the JITL MailInboxJob and relevant arguments from the Wizard

or

  • specify the JITL job class and com.sos.jitl.jobs.mail.MailInboxJob Java class name and add arguments specifying what to send and where mail should be sent as explained in the documentation below.

Example

Download: jitlMailInboxJob_sample.workflow.json

You can use the job wizard as shown here:


Explanation:

  • Add an empty job from the instruction panel.
  • Specify a name and a label for the job.
  • Select an Agent.

In a next step invoke the job wizard that you find in the upper right corner of the Job Property editor. The wizard will bring up the following popup window:


Explanation:

  • From the list of available job templates select the MailInboxJob.

Then hit the "Next" button to make the job wizard display the available arguments:


Explanation:

  • Required arguments include the mail.store.protocol which specifies whether imap or pop3 should be used.
  • All other arguments are optional provided that a Job Resource is used which specifies the connection details to the mail server, see below. Otherwise individual settings such as the IMAP/POP3 host, IMAP/POP3 port etc. have to be specified from arguments.
  • When using a secure SSL connection consider that:
    • to use TLS, the mail.imap.starttls.enable argument has to be specified with the value true, to use with SSL, the mail.imap.ssl.enable argument has to be specified with the value true.
    • different ports might be in use: for unencrypted connections and for TLS connections port 143 is frequently used, for SSL connections port 993 is frequently used.
    • optionally use the mail.imap.ssl.protocols argument with a value such as TLSv1.2 or TLSv1.1,TLSv1.2 to specify one or more protocol versions that limit handshake with the mail server to the protocol versions specified. Depending on the Java version in use and possible modifications of the java.security file a number of protocols could be enabled that might not match the mail server's capabilities. Typically SSL handshaking starts from the highest protocol version accepted by both parties. However, it is not guaranteed that protocol negotiation will work perfectly. In such a situation it is recommended that the protocol version is specified using this argument.
  • Select the check box provided with each argument if you want this argument to be added to the arguments of the MailInboxJob.

Hitting the "Submit" button the wizard adds the required arguments to your job which should then look like this:


The job arguments can be specified:

  • from individual variables as configured using the job wizard.
  • by using Job Resources.

Use of Job Resources for Mail Settings

A number of settings for reading mail inboxes most probably carry the same values when used for different mail inbox jobs. This includes, for example, the use of the IMAP/POP3 host, port etc.

  • You can specify such settings individually from variables that are assigned the job's arguments, as described above.
  • You can specify such settings from JS7 - Job Resources that can be re-used for any number of mail inbox jobs.

Setting up a Job Resource for Mail Settings

You can create a Job Resource that includes settings required to read mail inboxes.

A Job Resource has two sides, one being the variables that are specified from the "Arguments" sub-tab and the second is about "Environment Variables" that are available for Shell Jobs. For use with the MailInboxJob it is sufficient to specify variables from the "Arguments" tab.


Explanation:

  • The variable names specified should match arguments available with the JITL MailInboxJob template.
  • Consider use of variable names that start with mail.store.mail.imap., mail.pop3, etc.
    • Names of variables correspond to Java properties available with the JavaMail API. Any of the JavaMail properties can be specified.
    • You will find a full list of available
    • Required properties include (but are not limited to):
      • mail.store.protocol
      • mail.imap.host
      • mail.imap.port
      • mail.imap.user
      • mail.imap.password
    • Optional properties include (but are not limited to):
      • For authentication the following settings are used:
        • the mail.imap.user setting is assigned the IMAP user account.
        • the mail.imap.password setting is assigned the password.
      • When using OAuth2 authentication then the following settings are used:
        • the mail.imap.auth setting is assigned the value true.
        • the mail.imap.auth.mechanisms setting is assigned the value XOAUTH2.
        • the mail.imap.user setting is assigned the OAuth2 user account.
        • the mail.imap.password setting is assigned the OAuth2 access token.
        • Some mail servers such as smtp.office365.com might require the older SASL mechanism to be used:
          • the mail.imap.sasl.mechanisms.oauth2.oauthToken setting is assigned the OAuth2 access token.
          • the mail.imap.password setting is not specified.

Assigning a Job Resource for Mail Settings

A Job Resource can be created, deployed and assigned the MailInboxJob to populate the job's arguments from the Job Resource as shown in this screenshot:

Documentation

The Job Documentation including the full list of arguments can be found under: https://www.sos-berlin.com/doc/JS7-JITL/MailInboxJob.xml

The MailInboxJob can be used with a credential store to hold sensitive arguments. For use of the credential_store_* arguments see JS7 - Use of Credential Store with JITL Jobs.

Further Resources

References

Troubleshooting



  • No labels