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 = 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 { if (!request_headers.query.message_id) { mail_end_error("Message ID Required"); } else { var messageid = request_headers.query.message_id; var message = ssid_sessions[socket.ssid].mailstore.getMessageByID(messageid); if (!message) { mail_end_error("Invalid Message ID"); } else { ssid_sessions[socket.ssid].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) { ssid_sessions[socket.ssid].mailstore.deleteMessage(messageid); headers = `300 OK wtv-expire: wtv-mail:/listmail Location: wtv-mail:/listmail`; } else { headers = `200 OK Content-type: text/html`; data = ` ${html_entities.encode((message.subject) ? message.subject : '(No subject)')}
Mail list
Previous
Next
Discard
Save
Reply
Forward
E-mail message
From: `; if (message.from_name != message.from_addr) { data += `${html_entities.encode(message.from_addr)} (${html_entities.encode(message.from_name)})`; } else { data += `${html_entities.encode(message.from_addr)}`; } data += `
Date: ${strftime("%a, %b %e, %Y, %I:%M %P", new Date(message.date * 1000))} (UTC)
To: ${html_entities.encode(message.to_addr)} ${(html_entities.encode(message.to_name)) ? '(' + html_entities.encode(message.to_name) + ')' : ''}
Subject: ${html_entities.encode((message.subject) ? message.subject : '(No subject)')}

`; if (message.attachments) { message.attachments.forEach((v, k) => { if (v) { console.log("*****************",v['Content-Type']); switch (v['Content-Type']) { case "image/jpeg": data += ``; break; case "audio/wav": data += `
  Recording
`; break; } } }); } if (typeof message.body == "object") message.body = new Buffer.from(message.body).toString('latin1'); data += ` ${html_entities.encode(message.body).replace(/\n/gi, "
").replace(/\r/gi, "").replace(/'/gi, "'")}

`; if (message.signature) { data += ssid_sessions[socket.ssid].mailstore.sanitizeSignature(message.signature); } data += `

`; } } } }