aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2015-06-21 14:10:17 -0700
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2015-06-21 14:10:27 -0700
commit4b3ee932f60b6dc15116127f93e3471b74876d62 (patch)
tree5ae8ddbfebdee9980eac479b1e8a38509593287c /src
parentf8bfcdd313062baf2690578470e7b9ae2c4438e1 (diff)
"Undisclosed recipient is added" only when an email is sent
Diffstat (limited to 'src')
-rw-r--r--src/core/abstract/MCMessageHeader.cpp7
-rw-r--r--src/core/smtp/MCSMTPSession.cpp14
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");