Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

Set 'To' email address in a mailto Script

Terri Welch
ServiceNow Employee
ServiceNow Employee

Can I set the 'TO' address in an mailto script?  It reads from the system property, but I only want to change it for a specific email, not system wide.  Let's say I want it to go to my personal email instead of the system email.  This is NOT for a reply email - it is for a mailto: link in my email.

1 ACCEPTED SOLUTION

Hello @Terri Welch 

Dummy email script

(function runMailScript(/* GlideRecord */ current, /* TemplatePrinter */ template,
          /* Optional EmailOutbound */ email, /* Optional GlideRecord */ email_action,
          /* Optional GlideRecord */ event) {

          // Add your code here

   var approverEmail = "abc@gmail.com"; // Replace 
   var subject = "Project Approval Decision";
   // Generate mailto links with action in the subject - please modify them as per your requirement
   var acceptLink = 'mailto:' + approverEmail + '?subject=' + encodeURIComponent(subject + ' - Accept');
   var deferLink = 'mailto:' + approverEmail + '?subject=' + encodeURIComponent(subject + ' - Defer');
   var declineLink = 'mailto:' + approverEmail + '?subject=' + encodeURIComponent(subject + ' - Decline');
   // Output the links for use in the email body
   template.print('<p>Click below to respond:</p>');
   template.print('<p><a href="' + acceptLink + '"> Accept</a></p>');
   template.print('<p><a href="' + deferLink + '"> Defer</a></p>');
   template.print('<p><a href="' + declineLink + '"> Decline</a></p>');


})(current, template, email, email_action, event);


You can modify this dummy script to have different email address for accept, defer and decline.
Dummy Email Notification Message HTML

Hi

To waste your time, a request has been submitted to you for accept/reject/defer by clicking on one of the options below:

${mail_script:dummy_script}

Thanks
ServiceNow


Validation results:

vishal_jaswal_0-1742321172414.png



Hope that helps!




Hope that helps!

View solution in original post

6 REPLIES 6

Vishal Jaswal
Giga Sage
Giga Sage

Hello @Terri Welch 
If there is a TO email set in the e-mail notification and you want to set the same in your mailto script used in same email notification in message html then I believe it is not possible, however can be achievable using event registry (an example shared here: https://www.servicenow.com/community/itsm-forum/how-to-automate-for-notifying-if-a-task-isopened/td-... 


Hope that helps!

Ankur Bawiskar
Tera Patron
Tera Patron

@Terri Welch 

can you try this in your email script?

var emailAddress = "user@example.com";
        var name = "User Name";
        email.setEmailTo(emailAddress, name);

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

Amit Verma
Kilo Patron
Kilo Patron

Hi @Terri Welch 

 

You can make use of 

email.addRecipient("user.name@example.com"); // replace with your to email ID

to set the To Email address. It is working as expected. Refer below screenshots -

 

AmitVerma_0-1742271936146.png

 

AmitVerma_1-1742271956871.png

Please give it a try and let me know the results.

 

Thanks & Regards

Amit Verma


Please mark this response as correct and helpful if it assisted you with your question.

Here is the situation:
I have a notification that has the following links:

TerriWelch_0-1742317741247.png

These links are created with  'mailto script' in the notification:

TerriWelch_1-1742317870313.png

When the link is clicked in the email - I need to set the TO address.  Currently it is being set by a system property (I cannot change the system property - this is ONLY for this one notification)

TerriWelch_2-1742318079598.png

The mail_script did not work with in the mailto Template or the original email.