Details
-
Feature
-
Status: Released (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
E-mail Processing Job
This Job is to carry out the following:
1. Process attachments
An e-mail 'incoming basket' is to be polled. Only unread e-mails will be processed.
When an e-mail with an attachment is found:
- The attachment is moved to a directory
- parameters
- copyAttachmentsToFile=true
- directory name
- parameters
- This directory can also be monitored with, for example, a File Order Source
2. Write e-mails to files
An e-mail 'incoming basket' is to be polled. Only unread mails will be processed.
When an e-mail is found:
- The mail is marked as read
- The mail is written as a file to a directory
- parameters
- copyMail2File=true
- directory name
- parameters
- An optional order can be generated
- parameters:
- createOrder=true
- the job chain name
- order parameters:
- the file name
- the subject of the mail
- the sender
- the mail received date
- parameters:
- The mail is marked as processed
- alternative markings
- parameters: afterProcessEmail: move, delete, markAsRead
- the mail is marked as "read"
- the mail is moved to another folder
- parameter: the folder name
- The mail is deleted
- alternative markings
Example Job
<job title="Process email incoming box" order="no" name="ProcessMail"> <description > <include file="jobs/SOSMailProcessInbox.xml"/> </description> <params > <param name="mail_host" value="mail.sos-berlin.com"/> <param name="mail_port" value="993"/> <param name="mail_user" value="myUser"/> <param name="mail_password" value="********Ü"/> <param name="mail_ssl" value="true"/> <param name="mail_server_timeout" value="30000"/> <param name="mail_subject_filter" value="string2search"/> <param name="copy_mail_to_file" value="true"/> <param name="mail_dump_dir" value="c:/temp/mails"/> <param name="process_attachments" value="true"/> <param name="attachement_directory_name" value="c:/temp/attachment"/> <param name="max_mails_to_process" value="20000"/> <param name="after_process_email" value="copy"/> <param name="after_process_email_directory_name" value="email:INBOX/test"/> <param name="mail_server_type" value="IMAP"/> <param name="attachment_file_name_pattern" value="\${subject}_\${filename}"/> </params> <script language="java" java_class="com.sos.jitl.mailprocessor.SOSMailProcessInboxJSAdapterClass"/> <run_time /> </job>
Provision of E-mails as JavaScript Objects
SOSEmailObject email = getEmailObject(var filename) -
String email.getSubject()
String email.getAttachmentFilename
String email.getReceipient
String email.getBody()
String email.getReturnAddress
String email.get....
Here is an example job
<job enabled="yes" stop_on_error="no"> <script language="java:javascript"> <![CDATA[ function spooler_process(){ var message = com.sos.jitl.mailprocessor.SOSFileToMailProcessor.getMessage("C:/temp/mails/10f7-5b35e680-71-456fb280@195509842"); spooler_log.info("Subject: " + message.getSubject()); spooler_log.info(message.getPlainTextBody()); spooler_log.info("To:" + message.getFirstToRecipient()); spooler_log.info("To:" +message.getToRecipient(0)); spooler_log.info("To:" +message.getRecipient("TO", 0)); spooler_log.info("CC:" + message.getFirstCCRecipient()); spooler_log.info("BCC:" + message.getFirstBCCRecipient()); spooler_log.info("From Address:" + message.getFromAddress()); spooler_log.info("From Name:" + message.getFromName()); spooler_log.info("Content-Type:" + message.getHeaderValue("content-type")); spooler_log.info("Message Id: " + message.getMessageId()); spooler_log.info("Date:" + message.getSentDate().toLocaleString()); spooler_log.info("Attachment Count:" + message.getSosMailAttachmentsCount()); spooler_log.info(message.getSosMailAttachments().get(0).getContentType()); return false; } ]]> </script> <run_time /> </job>