Skip to content
Snippets Groups Projects
Commit cbcd8d68 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Sanity-check the from_net_addr (SENDERNETADDR) and recipient list

Anacron sends mail From: Anacron <root>, so deal (convert to root@youraddr).

Also, gracefully handle a forgotten recipient list.
parent 5ea3dff0
No related branches found
No related tags found
No related merge requests found
......@@ -122,17 +122,30 @@ while((line=readln()) != undefined) {
}
}
// Sanity-check the from_net_addr (SENDERNETADDR) field
if(typeof hdr.from_net_addr == "string") {
if(hdr.from_net_addr.indexOf('@') < 0)
hdr.from_net_addr += '@';
if(hdr.from_net_addr.indexOf('@') == hdr.from_net_addr.length - 1)
hdr.from_net_addr += system.inet_addr;
}
log.writeln("---");
log.writeln("hdr = " + JSON.stringify(hdr, null, 4));
log.writeln("rcpt_list = " + JSON.stringify(rcpt_list, null, 4));
if(rcpt_list.length < 1) {
writeln("No recipients specified!");
exit(1);
}
var msgbase = new MsgBase('mail');
if(!msgbase.open()) {
writeln("Cannot send email (open error)!");
exit();
exit(1);
}
if(!msgbase.save_msg(hdr, body, rcpt_list)) {
writeln("Cannot send email: " + msgbase.error);
exit();
exit(1);
}
log.writeln("---");
log.writeln("hdr = " + JSON.stringify(hdr, null, 4));
log.writeln("rcpt_list = " + JSON.stringify(rcpt_list, null, 4));
log.writeln("Sent successfully");
log.writeln("===");
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment