Update undelivered and OOO emails to the custom table
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-03-2024 07:18 AM
Hi,
I have a custom table where i want to update undelivered and OOO emails to the record in activity log.
Below is my business rule i wrote and the conditions.
BR:
(function executeRule(current, previous /*null when async*/ ) {
var body = current.body.toString();
if (body.indexOf("DKIM-Filter:") > -1) {
var str = body.substring(body.indexOf("DKIM-Filter:"));
var subject = str.substring(str.indexOf("Subject:") + 8);
var mime = subject.substring(subject.indexOf("MIME-Version:"));
var sub = subject.replace(mime, '').trim();
var gr = new GlideRecord('sys_email');
gr.addQuery('sys_created_onRELATIVEGT@minute@ago@5');
gr.addQuery('type', 'sent');
gr.query();
while (gr.next()) {
if (((gr.subject.toString()).localeCompare(sub.toString())) || (gr.subject.toString() == sub.toString())) {
if (current.instance) {
current.type = 'received';
} else {
current.type = 'received';
current.target_table = 'u_sr_shared_finance';//custom table
current.instance = gr.instance;
}
}
}
} else {
var emailStart = body.substring(body.indexOf('The mail system') + 27);
var emailEnd = body.substring(body.indexOf('>: host'));
var undeliverEmail = emailStart.replace(emailEnd, '').trim();
var gre = new GlideRecord('sys_email');
gre.addQuery('sys_created_onRELATIVEGT@minute@ago@5');
gre.addQuery('type', 'sent');
gre.addEncodedQuery('recipientsLIKE' + undeliverEmail);
gre.query();
if (gre.next()) {
current.type = 'received';
current.target_table = 'u_sr_shared_finance';
current.instance = gre.instance;
}
}
var ap = new GlideRecord('u_sr_shared_finance');
ap.addQuery('sys_id', current.instance);
ap.addQuery('state', '4');
ap.query();
if(ap.next()){
ap.state = '9';
ap.update();
}
})(current, previous);
Conditions:(new ToCheckRecipients()).checkRecipientAP(current.direct) //this will check the recipients are valid
I dont know what is wrong here, but it is working for Repluy/ReplyAll/Forward client templates and not the email template for the custom table.
Can anyone please check and le me know what is the issue here? Please help me since i just started learning scripting.
@Ankur Bawiskar @Jitendra diwak1 can you please help
Thanks in Advance!!
0 REPLIES 0