mirror of
https://github.com/mjl-/mox.git
synced 2025-07-14 06:14:37 +03:00
recognize more charsets than utf-8/iso-8859-1/us-ascii when parsing message headers with address
as they occur in From/To headers, for example: "From: =?iso-8859-2?Q?Krist=FDna?= <k@example.com>". we are using net/mail to parse such headers. most address-parsing functions in that package will only decode charsets utf-8, iso-8859-1 and us-ascii. we have to be careful to always use net/mail.AddressParser with a WordDecoder that understands more that the basics. for issue #204 by morki, thanks for reporting!
This commit is contained in:
@ -603,3 +603,10 @@ func TestNetMailAddress(t *testing.T) {
|
||||
tcheck(t, err, "parse")
|
||||
tcompare(t, p.Envelope.From, []Address{{"", `" "`, "example.com"}})
|
||||
}
|
||||
|
||||
func TestParseQuotedCharset(t *testing.T) {
|
||||
const s = "From: =?iso-8859-2?Q?Krist=FDna?= <k@example.com>\r\n\r\nbody\r\n"
|
||||
p, err := EnsurePart(pkglog.Logger, false, strings.NewReader(s), int64(len(s)))
|
||||
tcheck(t, err, "parse")
|
||||
tcompare(t, p.Envelope.From, []Address{{"Kristýna", "k", "example.com"}})
|
||||
}
|
||||
|
Reference in New Issue
Block a user