Sending mail now works.
authorArt Cancro <ajc@citadel.org>
Thu, 20 Oct 2022 22:15:15 +0000 (18:15 -0400)
committerArt Cancro <ajc@citadel.org>
Thu, 20 Oct 2022 22:15:15 +0000 (18:15 -0400)
webcit-ng/server/messages.c
webcit-ng/static/js/view_mail.js

index 1ef039f8246c3e2bfecfe009c5495e1df4ca001f..1f28af8bb93edcadafb63362f040157ff566ae92 100644 (file)
@@ -135,17 +135,24 @@ void dav_put_message(struct http_transaction *h, struct ctdlsession *c, char *eu
        char response_string[1024];
 
        if ((h->request_body == NULL) || (h->request_body_length < 1)) {
-               do_404(h);                      // Refuse to post a null message
+               do_404(h);                              // Refuse to post a null message
                return;
        }
 
-       char *wefw = get_url_param(h, "wefw");  // references
+       // Extract metadata from the URL
+       char *wefw = get_url_param(h, "wefw");          // References:
        if (!wefw) wefw = "";
-       char *subj = get_url_param(h, "subj");  // subject
+       char *subj = get_url_param(h, "subj");          // Subject:
        if (!subj) subj = "";
+       char *mailto = get_url_param(h, "mailto");      // To:
+       if (!mailto) mailto = "";
+       char *mailcc = get_url_param(h, "mailcc");      // Cc:
+       if (!mailcc) mailcc = "";
+       char *mailbcc = get_url_param(h, "mailbcc");    // Bcc:
+       if (!mailbcc) mailbcc = "";
 
        // Mode 4 will give us metadata back after upload
-       ctdl_printf(c, "ENT0 1|||4|%s||1|||||%s|", subj, wefw);
+       ctdl_printf(c, "ENT0 1|%s||4|%s||1|%s|%s|||%s|", mailto, subj, mailcc, mailbcc, wefw);
        ctdl_readline(c, buf, sizeof buf);
        if (buf[0] != '8') {
                h->response_code = 502;
index b33fbc691ccc6186e53b3107f9fa07659862468d..e69e7493904b009f969995690fba3a790fea076d 100644 (file)
@@ -31,6 +31,12 @@ function mail_render_one(msg, target_div) {
                + "<a href=\"javascript:mail_compose(true,'"+msg.wefw+"','"+msg.msgn+"');\">"
                + "<i class=\"fa fa-reply\"></i> " 
                + _("Reply")
+               + "</a></span>"
+       
+               + "<span class=\"ctdl-msg-button\">"                            // Reply-All (mail is always Quoted)
+               + "<a href=\"javascript:mail_compose(true,'"+msg.wefw+"','"+msg.msgn+"');\">"
+               + "<i class=\"fa fa-reply-all\"></i> " 
+               + _("ReplyAll")
                + "</a></span>";
        
                if (can_delete_messages) {
@@ -267,8 +273,8 @@ function make_cc_bcc_visible() {
 
 // Helper function for mail_save_messages() to extract form values.
 // (We have to replace "|" with "!" because "|" is a field separator in the Citadel protocol)
-function msm_field(element_name) {
-       return (document.getElementById(element_name).innerHTML).replaceAll("|","!");
+function msm_field(element_name, separator) {
+       return (document.getElementById(element_name).innerHTML).replaceAll("|",separator);
 }
 
 
@@ -278,12 +284,12 @@ function mail_save_message() {
        document.body.style.cursor = "wait";
        url = "/ctdl/r/" + escapeHTMLURI(current_room)
                + "/dummy_name_for_new_mail"
-               + "?wefw=" + msm_field("ctdl_mc_references")                            // references (if present)
-               + "&subj=" + msm_field("ctdl-compose-subject-field")                    // subject (if present)
-               + "&mailto=" + msm_field("ctdl-compose-to-field")                       // To: (required)
-               + "&mailcc=" + msm_field("ctdl-compose-cc-field")                       // Cc: (if present)
-               + "&mailbcc=" + msm_field("ctdl-compose-bcc-field")                     // Bcc: (if present)
-               ;
+               + "?wefw="      + msm_field("ctdl_mc_references", "!")                          // references (if present)
+               + "&subj="      + msm_field("ctdl-compose-subject-field", " ")                  // subject (if present)
+               + "&mailto="    + msm_field("ctdl-compose-to-field", ",")                       // To: (required)
+               + "&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"