diff --git a/exec/sendmail.js b/exec/sendmail.js index d9144b51cd6f4266a83f6c2c427750de4b8eb4eb..cffb23e27d92c17f4205c468cc2d6846afe0e80f 100755 --- a/exec/sendmail.js +++ b/exec/sendmail.js @@ -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("===");