...
Parameter | Description | Required |
---|---|---|
to | mail recipient(s) | Yes |
cc | cc recipient(s) | no |
bcc | bcc recipient(s) | no |
from | mail sender | no |
from_name | name of the sender | no |
reply_to | reply address | no |
subject | Mail Subject | no |
host | mail server host | no |
port | mail server port | no |
smtp_user | smtp username | no |
smtp_password | smtp user password | no |
queue_directory | Mail queue directory. Mails which cannot be transferred will be put here. The JobScheduler will later retry to send these mails. | no |
body | Mail body | no |
content_type | content_type of the mail (text/plain, text/html...) | no |
encoding | encoding of the mail (7bit, Quoted-Printable, Base64) | no |
charset | charset of the mail | no |
attachment_content_type | content_type of attachments (application/octet-stream, application/pdf...) | no |
attachment_encoding | encoding of attachments (7bit, Quoted-Printable, Base64) | no |
attachment_charset | charset of attachments | no |
attachment | Filename and path of the attachment(s) (multiple attachments separated by ";") | no |
A Simple JITL Send Email Example Examples
Following example shows a basic job configuration of JobSchedulerManagedMailJob. It is been configured to send email to a fix email Id along with fix email body and subject line.
See example 01_SendEmail.job_chain.xml in the downloadable example.
Info |
---|
When JobSchedulerManagedMailJob does not specify mail server host, port, smtp user and smtp user password, JITL job will apply default mail configuration from $SCHEDULER_DATA/config/factory.ini fils [smtp] section. |
...
The outgoing mails body and subject will be dynamically configured depending upon week day.
See example 02_ProcessingDayEmail.job_chain.xml in the downloadable example.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="ISO-8859-1"?> <job title="Send eMails" stop_on_error="no" order="yes" name="day_of_processing_email"> <description > <include file="jobs/JobSchedulerManagedMailJob.xml"/> </description> <params > <param name="to" value="jobscheduler-admin-group@sos-berlin.com"/> <param name="from" value="gollum.sos@sos-berlin.com"/> <param name="from_name" value="JobScheduler Gollum"/> <param name="content_type" value="text/html"/> </params> <script language="java" java_class="sos.scheduler.managed.JobSchedulerManagedMailJob"/> <monitor name="PreConfigureEmail" ordering="0"> <script language="javax.script:ecmascript"> <![CDATA[ function spooler_process_before() { try { var htmlHeader="<html><head></head><body>"; var htmlFooter="</body></html>\n\n"; var messageBody=""; var messageSubject=""; var today = new Date(); var todayWeekDay = today.getDay(); var weekdayName = [ "Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday" ]; if ( todayWeekDay <= 1 && todayWeekDay >= 5 ){ spooler_log.info( ".. Today's Weekday: " + weekdayName[ todayWeekDay ] ); messageSubject="Weekend Job Processing day of the week : " + weekdayName[ todayWeekDay ]; messageBody = htmlHeader + messageSubject + htmlFooter; } else { spooler_log.info( ".. Today's Weekday: " + weekdayName[ todayWeekDay ] ); messageSubject=" Weekday Job Processing day of the week : " + weekdayName[ todayWeekDay ]; messageBody = htmlHeader + messageSubject + htmlFooter; } spooler_log.info( ".. body: " + messageBody ); spooler_log.info( ".. messageSubject: " + messageSubject ); spooler_task.order().params().set_value("body",messageBody); spooler_task.order().params().set_value("subject",messageSubject); return true; } catch (e) { spooler_log.warn("error occurred : " + String(e)); return false; } } ]]> </script> </monitor> <run_time /> </job> |
...
In the following example job is getting file name from JobScheduler's order parameter scheduler_file_path and .
See example 03_SendInvoiceEmail.job_chain.xml in the downloadable example.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<job title="Send eMails" stop_on_error="no" order="yes" name="send_email_with_attachment"> <description > <include file="jobs/JobSchedulerManagedMailJob.xml"/> </description> <params > <param name="to" value="jobscheduler-admin-group@sos-berlin.com"/> <param name="from" value="gollum.sos@sos-berlin.com"/> <param name="from_name" value="JobScheduler Gollum"/> <param name="content_type" value="text/html"/> </params> <script language="java" java_class="sos.scheduler.managed.JobSchedulerManagedMailJob"/> <monitor name="PreConfigureEmail" ordering="0"> <script language="javax.script:ecmascript"> <![CDATA[ function spooler_process_before() { try { // get filename from the scheduler_file_path variables var filePath = "" + String(orderParameters.value("scheduler_file_path")); spooler_log.info( " scheduler_file_path : " + filePath ); var fileParts = filePath.split("/"); var fileName = fileParts[fileParts.length-1]; spooler_log.info( "fileName : " + fileName ); var htmlHeader="<html><head></head><body>"; var htmlFooter="</body></html>\n\n"; // define a message body template with PROCESS_FILE_OUT anchor which will be replaced later with file name which has triggerd the job chain. var messageBodyTemplate="Dear Customer, <br>Please find the invoice file attached herewith. <br> FileName = PROCCESSED_FILE_OUT <br> Best regards <br> SOS GmbH <br> <br> <br> ** This is an automaticlly generated E-mail, Please do not reply. ** <br> ---------------------------------------------------------------------------------------------------- "; // set email's subject messageSubject="[ Invoice ] " + fileName; // set email's body and replace anchor text with file name messageBody = htmlHeader + messageBodyTemplate.replace("PROCCESSED_FILE_OUT",fileName) + htmlFooter; spooler_log.info( ".. body: " + messageBody ); spooler_log.info( ".. messageSubject: " + messageSubject ); spooler_task.order().params().set_value("body",messageBody); spooler_task.order().params().set_value("subject",messageSubject); spooler_task.order().params().set_value("attachment",filePath); return true; } catch (e) { spooler_log.warn("error occurred : " + String(e)); return false; } } ]]> </script> </monitor> <run_time /> </job> |
...