feat: add method to set raw custom headers in MessageBuilder (#1108)

Closes #661
This commit is contained in:
Norbiros
2025-10-01 14:32:57 +02:00
committed by GitHub
parent d2b9d50000
commit 55cea7dbe6

View File

@@ -217,7 +217,7 @@ mod mimebody;
use crate::{
address::Envelope,
message::header::{ContentTransferEncoding, Header, Headers, MailboxesHeader},
message::header::{ContentTransferEncoding, Header, HeaderValue, Headers, MailboxesHeader},
Error as EmailError,
};
@@ -369,6 +369,12 @@ impl MessageBuilder {
self
}
/// Set raw custom header to message
pub fn raw_header(mut self, raw_header: HeaderValue) -> Self {
self.headers.insert_raw(raw_header);
self
}
/// Add mailbox to header
pub fn mailbox<H: Header + MailboxesHeader>(self, header: H) -> Self {
match self.headers.get::<H>() {
@@ -711,7 +717,10 @@ mod test {
.header(header::To(
vec!["Pony O.P. <pony@domain.tld>".parse().unwrap()].into(),
))
.header(header::Subject::from(String::from("яңа ел белән!")))
.raw_header(header::HeaderValue::new(
header::HeaderName::new_from_ascii_str("Subject"),
"яңа ел белән!".to_owned(),
))
.body(String::from("Happy new year!"))
.unwrap();