From 4b3ee932f60b6dc15116127f93e3471b74876d62 Mon Sep 17 00:00:00 2001 From: "Hoa V. DINH" Date: Sun, 21 Jun 2015 14:10:17 -0700 Subject: "Undisclosed recipient is added" only when an email is sent --- src/core/abstract/MCMessageHeader.cpp | 7 +------ src/core/smtp/MCSMTPSession.cpp | 14 +++++++++++++- 2 files changed, 14 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/core/abstract/MCMessageHeader.cpp b/src/core/abstract/MCMessageHeader.cpp index 1b163638..6d744ece 100644 --- a/src/core/abstract/MCMessageHeader.cpp +++ b/src/core/abstract/MCMessageHeader.cpp @@ -721,12 +721,7 @@ struct mailimf_fields * MessageHeader::createIMFFieldsAndFilterBcc(bool filterBc imfSubject = strdup(data->bytes()); } } - - if ((imfTo == NULL) && (imfCc == NULL) && (imfBcc == NULL)) { - imfTo = mailimf_address_list_new_empty(); - mailimf_address_list_add_parse(imfTo, (char *) "Undisclosed recipients:;"); - } - + fields = mailimf_fields_new_with_data_all(imfDate, imfFrom, NULL /* sender */, diff --git a/src/core/smtp/MCSMTPSession.cpp b/src/core/smtp/MCSMTPSession.cpp index cb9b02cb..8187675e 100644 --- a/src/core/smtp/MCSMTPSession.cpp +++ b/src/core/smtp/MCSMTPSession.cpp @@ -703,7 +703,8 @@ Data * SMTPSession::dataWithFilteredBcc(Data * data) struct mailimf_fields * fields = msg->msg_fields; int col = 0; - + + int hasRecipient = 0; str = mmap_string_new(""); for(clistiter * cur = clist_begin(fields->fld_list) ; cur != NULL ; cur = clist_next(cur)) { struct mailimf_field * field = (struct mailimf_field *) clist_content(cur); @@ -712,6 +713,17 @@ Data * SMTPSession::dataWithFilteredBcc(Data * data) clist_delete(fields->fld_list, cur); break; } + else if ((field->fld_type == MAILIMF_FIELD_TO) || (field->fld_type == MAILIMF_FIELD_CC) || (field->fld_type == MAILIMF_FIELD_BCC)) { + hasRecipient = 1; + } + } + if (!hasRecipient) { + struct mailimf_address_list * imfTo; + imfTo = mailimf_address_list_new_empty(); + mailimf_address_list_add_parse(imfTo, (char *) "Undisclosed recipients:;"); + struct mailimf_to * toField = mailimf_to_new(imfTo); + struct mailimf_field * field = mailimf_field_new(MAILIMF_FIELD_TO, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, toField, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + mailimf_fields_add(fields, field); } mailimf_fields_write_mem(str, &col, fields); mmap_string_append(str, "\n"); -- cgit v1.2.3