Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...

See example 02_ProcessingDayEmail.job_chain.xml in the downloadable example.

Code Block
languagexml
titleConfigure subject and body text dynamically
collapsetrue
 <?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>

...

See example 03_SendInvoiceEmail.job_chain.xml in the downloadable example.

Code Block
languagexml
titleConfigure email subject, body and attachment file
collapsetrue
<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>

 

See also 

...