pub fn encode(key: &str, value: &str, w: &mut EmailWriter<'_>) -> Result
Expand description
Encode a string via RFC 2231.
§Examples
{
let input = "invoice.pdf";
let mut output = String::new();
{
let mut writer = EmailWriter::new(&mut output, 0, 0, false, false);
email_encoding::headers::rfc2231::encode("filename", input, &mut writer)?;
}
assert_eq!(output, "filename=\"invoice.pdf\"");
}
{
let input = "invoice_2022_06_04_letshaveaverylongfilenamewhynotemailcanhandleit.pdf";
let mut output = String::new();
{
let mut writer = EmailWriter::new(&mut output, 0, 0, false, false);
email_encoding::headers::rfc2231::encode("filename", input, &mut writer)?;
}
assert_eq!(
output,
concat!(
"\r\n",
" filename*0=\"invoice_2022_06_04_letshaveaverylongfilenamewhynotemailcanha\";\r\n",
" filename*1=\"ndleit.pdf\""
)
);
}
{
let input = "faktúra.pdf";
let mut output = String::new();
{
let mut writer = EmailWriter::new(&mut output, 0, 0, false, false);
email_encoding::headers::rfc2231::encode("filename", input, &mut writer)?;
}
assert_eq!(
output,
concat!(
"\r\n",
" filename*0*=utf-8''fakt%C3%BAra.pdf"
)
);
}