diff --git a/crates/rfc5321/src/parser.rs b/crates/rfc5321/src/parser.rs index ca52a1b5..d8be0f5e 100644 --- a/crates/rfc5321/src/parser.rs +++ b/crates/rfc5321/src/parser.rs @@ -355,7 +355,7 @@ impl Domain { pub fn name(name: &str) -> Result { match idna::domain_to_ascii(name) { Ok(name) => Ok(Self::Name(name)), - Err(err) => Err(format!("{err:#}")), + Err(_empty_error_type) => Err(format!("invalid IDNA domain {name}")), } } } @@ -588,6 +588,16 @@ mod test { ); } + #[test] + fn parse_rcpt_to_punycode() { + assert_eq!( + Parser::parse_command("Rcpt To:") + .unwrap_err() + .to_string(), + "invalid IDNA domain 4bed.xn--5dbhlacyps5bf4a.com" + ); + } + #[test] fn parse_rcpt_to() { assert_eq!(