From 0d0eda26984e825c8af82528c749238678baf159 Mon Sep 17 00:00:00 2001 From: smizrahi Date: Mon, 22 Jan 2024 09:40:10 +0100 Subject: [PATCH] fix(mail): Disable inline images in attachments when HTML emails writing is disabled. Fixes #5877. --- SoObjects/Mailer/SOGoDraftObject.m | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/SoObjects/Mailer/SOGoDraftObject.m b/SoObjects/Mailer/SOGoDraftObject.m index c170b245c..82d843a49 100644 --- a/SoObjects/Mailer/SOGoDraftObject.m +++ b/SoObjects/Mailer/SOGoDraftObject.m @@ -1059,13 +1059,13 @@ static NSString *userAgent = nil; - (void) fetchMailForReplying: (SOGoMailObject *) sourceMail toAll: (BOOL) toAll { - BOOL fromSentMailbox; + BOOL fromSentMailbox, shouldRetrieveAttachements; NSString *msgID; NSString *oldReferences; NSMutableDictionary *info; NGImap4Envelope *sourceEnvelope; SOGoUserDefaults *ud; - + fromSentMailbox = [[sourceMail container] isKindOfClass: [SOGoSentFolder class]]; [sourceMail fetchCoreInfos]; @@ -1089,6 +1089,7 @@ static NSString *userAgent = nil; ud = [[context activeUser] userDefaults]; + [self setText: [sourceMail contentForReply]]; [self setHeaders: info]; @@ -1098,16 +1099,17 @@ static NSString *userAgent = nil; [self setSourceIMAP4ID: [[sourceMail nameInContainer] intValue]]; [self setSourceFolderWithMailObject: sourceMail]; - - ud = [[context activeUser] userDefaults]; - [self setText: [sourceMail contentForReply]]; - if ([sourceMail isEncrypted]) - [self _fetchAttachmentsFromEncryptedMail: sourceMail onlyImages: YES]; - else if ([sourceMail isOpaqueSigned]) - [self _fetchAttachmentsFromOpaqueSignedMail: sourceMail onlyImages: YES]; - else - [self _fetchAttachmentsFromMail: sourceMail onlyImages: YES]; + shouldRetrieveAttachements = [[ud mailComposeMessageType] isEqualToString: @"html"]; + + if (shouldRetrieveAttachements) { + if ([sourceMail isEncrypted]) + [self _fetchAttachmentsFromEncryptedMail: sourceMail onlyImages: YES]; + else if ([sourceMail isOpaqueSigned]) + [self _fetchAttachmentsFromOpaqueSignedMail: sourceMail onlyImages: YES]; + else + [self _fetchAttachmentsFromMail: sourceMail onlyImages: YES]; + } [self save];