The CreatorCon Call for Content is officially open! Get started here.

QUESTION RELATED TO MAIL SCRIPT

adityahubli
Tera Contributor
(function runMailScript(/* GlideRecord */ current, /* TemplatePrinter */ template,
          /* Optional EmailOutbound */ email, /* Optional GlideRecord */ email_action,
          /* Optional GlideRecord */ event) {
            var grp=current.assignment_group;
            var gr=new GlideRecord('sys_user_grmember');
            gr.addQuery('group',grp);
            gr.query();
            while(gr.next())
            {
                email.addAddress('cc',gr.user.email,gr.user.first_name);
            }
            email.setSubject('Incident Assignment!!!')
            email.setBody('New Incident has been assigne to your '+gr.getDisplayValue('group'));
            email.setReplyTo(gr.user.manager.email);

 

template.print('Hello This isbfjbjsdgjm');   
          // Add your code here

 

})(current, template, email, email_action, event);
 
 
first time when I run this script without template.print() method notification didn't got  send but when I
added template.print() in code then notification get send , why without template.print notification get send ?
2 ACCEPTED SOLUTIONS

@adityahubli 

Hope you are doing good.

Did my reply answer your question?

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

M Iftikhar
Giga Sage

Hi @adityahubli ,

The reason your email didn’t send without template.print() is that the notification engine requires some body content to process.

  • If the notification record itself does not have a body defined, the mail script must produce output (via template.print()) to generate the body.

  • If you define a body in the notification (e.g., static text or variables), then template.print() is not required, and your script can just handle recipients, subject, etc.


I found this in the ServiceNow TemplatePrinter API which provides methods to handle printing from a mail script to the email message u will find this doc helpful:
https://developer.servicenow.com/dev.do#!/reference/api/zurich/server/no-namespace/c_TemplatePrinter...


Thanks & Regards,
Muhammad Iftikhar

If my response helped, please mark it as the accepted solution so others can benefit as well.

Thanks & Regards,
Muhammad Iftikhar

If my response helped, please mark it as the accepted solution so others can benefit as well.

View solution in original post

10 REPLIES 10

palanikumar
Giga Sage
Giga Sage

Hi,

template.print has the actual Body of email. It might not have sent since it was empty

Thank you,
Palani

RaghavSh
Kilo Patron

@adityahubli I do not think template.print is required in your case. How did you call this in your notification body?

https://developer.servicenow.com/dev.do#!/learn/learning-plans/xanadu/new_to_servicenow/app_store_le... 

 

Check this SN docs example, for adding CC , template.print is not required.

 

Also, I checked on OOB instance the scrips for adding cc or BCC are not doing template.print.

If you are setting notification body correctly in your notification, template.print is not required in mail script.


Raghav
MVP 2023
LinkedIn

@adityahubli Did this answer your query?


Please mark the answer correct/helpful accordingly.


Raghav
MVP 2023
LinkedIn

@adityahubli Thanks for marking the solution helpful. You can mark all relevant answers correct for benefit of other users.


Raghav
MVP 2023
LinkedIn