Skip to content

Commit 98c383d

Browse files
committed
Send Chat-Group-Past-Members header
1 parent bdc0d89 commit 98c383d

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/mimefactory.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,7 @@ impl MimeFactory {
510510
};
511511

512512
let mut to = Vec::new();
513+
let mut past_members = Vec::new(); // Contents of `Chat-Group-Past-Members` header.
513514
if !undisclosed_recipients {
514515
let email_to_remove = match &self.loaded {
515516
Loaded::Message { msg, .. } => {
@@ -535,6 +536,14 @@ impl MimeFactory {
535536
to.push(new_address_with_name(name, addr.clone()));
536537
}
537538
}
539+
540+
for (name, addr) in &self.past_members {
541+
if name.is_empty() {
542+
past_members.push(Address::new_mailbox(addr.clone()));
543+
} else {
544+
past_members.push(new_address_with_name(name, addr.clone()));
545+
}
546+
}
538547
}
539548

540549
if to.is_empty() {
@@ -554,6 +563,11 @@ impl MimeFactory {
554563
headers.push(Header::new_with_value("Sender".into(), vec![sender]).unwrap());
555564
}
556565
headers.push(Header::new_with_value("To".into(), to.clone()).unwrap());
566+
if !past_members.is_empty() {
567+
headers.push(
568+
Header::new_with_value("Chat-Group-Past-Members".into(), to.clone()).unwrap(),
569+
);
570+
}
557571

558572
let subject_str = self.subject_str(context).await?;
559573
let encoded_subject = if subject_str

0 commit comments

Comments
 (0)