Store main part of the message outside of "parts" vector

This commit is contained in:
Alexander Krotov
2020-01-20 22:54:26 +03:00
parent adcdae4abe
commit 64026fde7c

View File

@@ -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,19 +881,19 @@ impl<'a, 'b> MimeFactory<'a, 'b> {
} }
} }
if parts.is_empty() {
// Single part, render as regular message. // Single part, render as regular message.
if parts.len() == 1 { Ok(main_part)
return Ok(parts.pop().unwrap()); } else {
}
// Multiple parts, render as multipart. // Multiple parts, render as multipart.
let mut message = PartBuilder::new().message_type(MimeMultipartType::Mixed); let mut message = PartBuilder::new().message_type(MimeMultipartType::Mixed);
message = message.child(main_part.build());
for part in parts.into_iter() { for part in parts.into_iter() {
message = message.child(part.build()); message = message.child(part.build());
} }
Ok(message) Ok(message)
} }
}
/// Render an MDN /// Render an MDN
fn render_mdn(&mut self) -> Result<PartBuilder, Error> { fn render_mdn(&mut self) -> Result<PartBuilder, Error> {