function mail_send_message() {
document.body.style.cursor = "wait";
+ deactivate_uploads();
let url = "/ctdl/r/" + escapeHTMLURI(current_room)
+ "/dummy_name_for_new_mail"
+ "?wefw=" + msm_field("ctdl_mc_references", "!") // references (if present)
+ "&mailcc=" + msm_field("ctdl-compose-cc-field", ",") // Cc: (if present)
+ "&mailbcc=" + msm_field("ctdl-compose-bcc-field", ",") // Bcc: (if present)
;
- boundary = randomString();
- body_text =
- "--" + boundary + "\r\n"
- + "Content-type: text/html\r\n"
- + "Content-transfer-encoding: quoted-printable\r\n"
- + "\r\n"
- + quoted_printable_encode(
- "<html><body>" + document.getElementById("ctdl-editor-body").innerHTML + "</body></html>"
- ) + "\r\n"
- + "--" + boundary + "--\r\n"
- ;
+ if (uploads.length > 0) {
+ url += "&att=";
+ for (let i=0; i<uploads.length; ++i) {
+ url += uploads[i]["ref"];
+ if (i != uploads.length - 1) {
+ url += ",";
+ }
+ }
+ }
+ body_text = "<html><body>" + document.getElementById("ctdl-editor-body").innerHTML + "</body></html>\r\n";
var request = new XMLHttpRequest();
request.open("PUT", url, true);
- request.setRequestHeader("Content-type", "multipart/mixed; boundary=\"" + boundary + "\"");
+ request.setRequestHeader("Content-type", "text/html");
request.onreadystatechange = function() {
if (request.readyState == 4) {
document.body.style.cursor = "default";
}
}
+ // successfully saving a message means the attachments are now gone from the server.
+ uploads = [];
+
// After saving the message, go back to the mailbox view.
gotoroom(current_room);