diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/abstract/MCMessageHeader.cpp | 7 | ||||
-rw-r--r-- | src/core/renderer/MCHTMLRenderer.cpp | 1 | ||||
-rw-r--r-- | src/core/rfc822/MCAttachment.cpp | 8 | ||||
-rw-r--r-- | src/core/smtp/MCSMTPSession.cpp | 14 |
4 files changed, 19 insertions, 11 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/renderer/MCHTMLRenderer.cpp b/src/core/renderer/MCHTMLRenderer.cpp index 289de210..c42bcb45 100644 --- a/src/core/renderer/MCHTMLRenderer.cpp +++ b/src/core/renderer/MCHTMLRenderer.cpp @@ -321,6 +321,7 @@ static String * htmlForAbstractSinglePart(AbstractPart * part, htmlRendererConte String * str = data->stringWithDetectedCharset(charset, false); str = str->htmlMessageContent(); + str = context->htmlCallback->filterHTMLForPart(str); context->firstRendered = true; return str; } diff --git a/src/core/rfc822/MCAttachment.cpp b/src/core/rfc822/MCAttachment.cpp index 014f8341..cdee201b 100644 --- a/src/core/rfc822/MCAttachment.cpp +++ b/src/core/rfc822/MCAttachment.cpp @@ -112,10 +112,7 @@ String * Attachment::mimeTypeForFilename(String * filename) if (result != NULL) return result; - if (ext->isEqual(MCSTR("jpg"))) { - return MCSTR("image/jpeg"); - } - else if (ext->isEqual(MCSTR("jpeg"))) { + if (ext->isEqual(MCSTR("jpeg")) || ext->isEqual(MCSTR("jpg"))) { return MCSTR("image/jpeg"); } else if (ext->isEqual(MCSTR("png"))) { @@ -130,6 +127,9 @@ String * Attachment::mimeTypeForFilename(String * filename) else if (ext->isEqual(MCSTR("txt"))) { return MCSTR("text/plain"); } + else if (ext->isEqual(MCSTR("tiff")) || ext->isEqual(MCSTR("tif"))) { + return MCSTR("image/tiff"); + } return NULL; } 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"); |