Page History
Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
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
- This includes settings such as the IMAP/POP3 host, port etc.
- It is recommended to use JS7 - Job Resources for this purpose as such settings suggest to use the same values for any mail inbox that should be read from the same mail server.
- Mail Settings
- Such settings are specific for individual mail inboxes and include e.g. the folder of the mail inbox.
- Connection Settings
- The job template can be used with a JS7 - Credential Store.
Display feature availability StartingFromRelease 2.1.1
Usage
When defining the job consider
- to invoke the Wizard that is available from the Job Properties tab in the Configuration view and to select the JITL MailInboxJob and respective arguments from the Wizard
or
- to specify the
JITL
job class andcom.sos.jitl.jobs.mail.MailInboxJob
Java class name, then add arguments what to send and where to send mail as explained from the below documentation.
Example
Download: jitlMailInboxJob_sample.workflow.json
You can use the job wizard like this:
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 brings 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 available arguments:
Explanation:
- Required arguments include the
mail.store.protocol
argument to specifyimap
orpop3
to be used. - Any other arguments are optional provided that a Job Resource is used that specifies 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 to
- use the
mail.imap.ssl.enable
argument with the valuetrue
, - optionally use the
mail.imap.ssl.protocols
argument with a value such asTLSv1.2
orTLSv1.1,TLSv1.2
to specify one or more protocol versions that limit handshake with the mail server to the specified protocol versions. Depending on the Java version in use and possible modifications of thejava.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 perfectly work. In such a situation it is recommended to specify the protocol version by use of this argument.
- use the
- Select the check box provided with each argument if you want this argument to be added to the arguments of the MailInboxJob.
When hitting the "Submit" button the wizard adds the required arguments to your job that should look like this:
The job arguments can be specified
- from individual variables as offered by the job wizard.
- by use of 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 e.g. use of the IMAP/POP3 host, port etc.
- You can specify such settings individually from variables that are assigned the job's arguments, see 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.
- For details how to set up a Job Resource, follow instructions from the JS7 - Job Resources article.
- Find the below example for download: eMailIMAPDefault.jobresource.json
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 the purpose of 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.
- Find a full list of available
- general mail settings from https://javaee.github.io/javamail/docs/api/javax/mail/package-summary.html
mail.imap.
properties from https://javaee.github.io/javamail/docs/api/com/sun/mail/imap/package-summary.htmlmail.pop3.
properties from https://javaee.github.io/javamail/docs/api/com/sun/mail/pop3/package-summary.html
- Required properties include (but are not limited to):
mail.store.protocol
mail.imap.host
mail.imap.port
mail.imap.user
mail.imap.password
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 like this:
Documentation
Job Documentation including the full list of available arguments: 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.