diff options
author | Hoa V. DINH <dinh.viet.hoa@gmail.com> | 2015-06-21 14:10:17 -0700 |
---|---|---|
committer | Hoa V. DINH <dinh.viet.hoa@gmail.com> | 2015-06-21 14:10:27 -0700 |
commit | 4b3ee932f60b6dc15116127f93e3471b74876d62 (patch) | |
tree | 5ae8ddbfebdee9980eac479b1e8a38509593287c /src | |
parent | f8bfcdd313062baf2690578470e7b9ae2c4438e1 (diff) |
"Undisclosed recipient is added" only when an email is sent
Diffstat (limited to 'src')
-rw-r--r-- | src/core/abstract/MCMessageHeader.cpp | 7 | ||||
-rw-r--r-- | src/core/smtp/MCSMTPSession.cpp | 14 |
2 files changed, 14 insertions, 7 deletions
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"); |