Skip to content
Snippets Groups Projects
Commit 9a0b8a5b authored by rswindell's avatar rswindell
Browse files

Added redirection (on success) and full HTML support.

parent 1329ae1c
Branches
Tags
No related merge requests found
......@@ -7,23 +7,51 @@
load("sbbsdefs.js");
if(http_request.query.to==undefined
|| http_request.query.from==undefined
|| http_request.query.subject==undefined) {
writeln(log(LOG_ERR,"!ERROR: mising query field"));
exit();
}
var redir = http_request.query.redir;
if(!redir)
redir = http_request.header.referer;
function results(level, text)
{
log(level,text);
writeln("<html>");
writeln("<head>");
writeln("<title>Sending e-mail</title>");
if(http_request.post_data==undefined) {
writeln(log(LOG_ERR,"!ERROR: mising post data"));
if(level>LOG_WARNING) {
writeln('<meta http-equiv="Pragma" content="no-cache">');
writeln('<meta http-equiv="expires" content="0">');
writeln('<meta http-equiv="refresh" content="3; URL='
+ redir +'">');
}
writeln("</head>");
writeln("<body>");
writeln("<center>");
if(level<=LOG_WARNING) {
writeln("!ERROR: ");
}
writeln(text);
if(level>LOG_WARNING) {
writeln("<p>");
writeln("Returning to <i>" + redir + "</i>");
}
writeln("</body>");
writeln("</html>");
exit();
}
if(http_request.query.to==undefined
|| http_request.query.from==undefined
|| http_request.query.subject==undefined)
results(LOG_ERR,"mising query field");
if(http_request.post_data==undefined)
results(LOG_ERR,"mising post data");
var msgbase=new MsgBase("mail");
if(!msgbase.open()) {
writeln(log(LOG_ERR,format("!ERROR %s opening mail base", msgbase.error)));
exit();
}
if(!msgbase.open())
results(LOG_ERR,format("%s opening mail base", msgbase.error));
var hdr = { from: http_request.query.from,
to: http_request.query.to,
......@@ -34,17 +62,12 @@ if(hdr.to_net_type!=NET_NONE)
hdr.to_net_addr=hdr.to;
else {
var usrnum=system.matchuser(hdr.to);
if(usrnum==0) {
writeln(log(LOG_ERR,"!Bad local username specified: " + hdr.to));
exit();
}
if(usrnum==0)
results(LOG_ERR,"bad local username specified: " + hdr.to);
hdr.to_ext=usrnum;
}
if(!msgbase.save_msg(hdr,client,http_request.post_data))
writeln(log(LOG_ERR,format("!ERROR %s saving message", msgbase.error)));
else
writeln(log(LOG_INFO,"E-mail sent to " + hdr.to + " successfully"));
results(LOG_ERR,format("%s saving message", msgbase.error));
msgbase.close();
results(LOG_INFO,"E-mail sent to <i>" + hdr.to + "</i> successfully.");
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment