var minisrv_service_file = true;
var intro_seen = ssid_sessions[socket.ssid].mailstore.checkMailIntroSeen();
if (!intro_seen && !request_headers.query.intro_seen) {
// user is trying to bypass the intro screen
headers = "300 OK\nLocation: wtv-mail:/DiplomaMail";
} else {
var doClientError = function (msg) {
var clientErrorMsg = new clientShowAlert({
'image': minisrv_config.config.service_logo,
'message': msg,
'buttonlabel1': "Okay",
'buttonaction1': "client:donothing",
'noback': true,
}).getURL();
headers = "300 OK\nwtv-visit: " + clientErrorMsg;
}
var to_addr = request_headers.query.message_to || null;
var msg_subject = request_headers.query.message_subject || null;
var msg_body = request_headers.query.message_body || null;
var to_name = request_headers.query.whatever_webtv_sends_this_as || null;
var no_signature = request_headers.query.no_signature || false;
var mail_draft_data = ssid_sessions[socket.ssid].getSessionData("mail_draft");
if (mail_draft_data) {
ssid_sessions[socket.ssid].deleteSessionData("mail_draft")
to_addr = mail_draft_data.to_addr;
msg_subject = mail_draft_data.msg_subject;
msg_body = mail_draft_data.msg_body;
no_signature = mail_draft_data.no_signature;
}
var username = ssid_sessions[socket.ssid].getSessionData("subscriber_username");
var userdisplayname = html_entities.encode(ssid_sessions[socket.ssid].getSessionData("subscriber_name"));
var address = username + "@" + minisrv_config.config.service_name
var notImplementedAlert = new clientShowAlert({
'image': minisrv_config.config.service_logo,
'message': "This feature is not available.",
'buttonlabel1': "Okay",
'buttonaction1': "client:donothing",
'noback': true,
}).getURL();
if (request_headers.query.sendoff == "Send" || request_headers.query.saveoff) {
var from_addr = address;
var signature = ssid_sessions[socket.ssid].getSessionData("subscriber_signature") || null;
if (request_headers.query.sendoff == "Send") {
var messagereturn = ssid_sessions[socket.ssid].mailstore.sendMessageToAddr(from_addr, to_addr, msg_body, msg_subject, userdisplayname, to_name, signature);
if (messagereturn !== true) {
var errpage = wtvshared.doErrorPage(400, messagereturn);
headers = errpage[0];
data = errpage[1];
} else {
headers = `300 OK
wtv-expire: wtv-mail:/listmail
Location: wtv-mail:/listmail`;
}
} else {
var mail_draft_data = {
to_addr: to_addr,
msg_subject: msg_subject,
msg_body: msg_body,
no_signature: no_signature
}
ssid_sessions[socket.ssid].setSessionData("mail_draft", mail_draft_data);
headers = `200 OK
Content-type text/html
wtv-expire: wtv-mail:/sendmail`;
}
} else {
headers = `200 OK
Content-type text/html`;
data = `
Write a message
|
|
Write a message
|