mirror of
https://github.com/chatmail/core.git
synced 2026-05-08 17:36:29 +03:00
Store main part of the message outside of "parts" vector
This commit is contained in:
@@ -815,9 +815,10 @@ impl<'a, 'b> MimeFactory<'a, 'b> {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Message is sent as text/plain, with charset = utf-8
|
// Message is sent as text/plain, with charset = utf-8
|
||||||
let mut parts = vec![PartBuilder::new()
|
let main_part = PartBuilder::new()
|
||||||
.content_type(&mime::TEXT_PLAIN_UTF_8)
|
.content_type(&mime::TEXT_PLAIN_UTF_8)
|
||||||
.body(message_text)];
|
.body(message_text);
|
||||||
|
let mut parts = Vec::new();
|
||||||
|
|
||||||
// add attachment part
|
// add attachment part
|
||||||
if chat::msgtype_has_file(self.msg.viewtype) {
|
if chat::msgtype_has_file(self.msg.viewtype) {
|
||||||
@@ -880,18 +881,18 @@ impl<'a, 'b> MimeFactory<'a, 'b> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Single part, render as regular message.
|
if parts.is_empty() {
|
||||||
if parts.len() == 1 {
|
// Single part, render as regular message.
|
||||||
return Ok(parts.pop().unwrap());
|
Ok(main_part)
|
||||||
|
} else {
|
||||||
|
// Multiple parts, render as multipart.
|
||||||
|
let mut message = PartBuilder::new().message_type(MimeMultipartType::Mixed);
|
||||||
|
message = message.child(main_part.build());
|
||||||
|
for part in parts.into_iter() {
|
||||||
|
message = message.child(part.build());
|
||||||
|
}
|
||||||
|
Ok(message)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Multiple parts, render as multipart.
|
|
||||||
let mut message = PartBuilder::new().message_type(MimeMultipartType::Mixed);
|
|
||||||
for part in parts.into_iter() {
|
|
||||||
message = message.child(part.build());
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(message)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Render an MDN
|
/// Render an MDN
|
||||||
|
|||||||
Reference in New Issue
Block a user