var minisrv_service_file = true;
var mailstore_exists = false;
function mail_end_error(msg) {
var errpage = doErrorPage("400", msg);
headers = errpage[0];
data = errpage[1];
}
var intro_seen = session_data.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 {
if (!request_headers.query.message_id) {
mail_end_error("Message ID Required");
} else {
var messageid = request_headers.query.message_id;
var message = session_data.mailstore.getMessageByID(messageid);
if (!message) {
mail_end_error("Invalid Message ID");
} else {
session_data.mailstore.setMessageReadStatus(messageid);
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.message_delete) {
session_data.mailstore.deleteMessage(messageid);
headers = `300 OK
wtv-expire: wtv-mail:/listmail
Location: wtv-mail:/listmail`;
} else {
headers = `200 OK
Content-type: text/html`;
var message_colors = null;
if (message.body) {
if (message.body.indexOf("
`;
if (message.from_name != message.from_addr) {
data += `${wtvshared.htmlEntitize(message.from_addr)} (${wtvshared.htmlEntitize(message.from_name)})`;
} else {
data += `${wtvshared.htmlEntitize(message.from_addr)}`;
}
data += `
`;
data += `
${(message.subject) ? wtvshared.htmlEntitize(message.subject) : '(No subject)'}
`;
if (typeof message.body === "object" && message.body) {
message.body = wtvshared.decodeBufferText(message.body);
}
if (message.body) {
message.body = message.body.replace(/\n/g, "
");
if (message.body.indexOf("") >= 0) {
message.allow_html = true;
}
data += `${(message.allow_html) ? wtvshared.sanitizeSignature(message.body) : wtvshared.htmlEntitize(message.body, true)}`
}
data += "
";
if (message.signature) {
data += wtvshared.sanitizeSignature(message.signature);
}
data += `
`;
if (Array.isArray(message.attachments)) {
message.attachments.forEach((v, k) => {
if (v) {
switch (v['Content-Type']) {
case "image/jpeg":
data += `