mirror of
https://github.com/mjl-/mox.git
synced 2025-07-12 12:24:38 +03:00
normalize localparts with unicode nfc when parsing
both when parsing our configs, and for incoming on smtp or in messages. so we properly compare things like é and e+accent as equal, and accept the different encodings of that same address.
This commit is contained in:
@ -42,6 +42,10 @@ func From(elog *slog.Logger, strict bool, r io.ReaderAt) (raddr smtp.Address, en
|
||||
if err != nil {
|
||||
return raddr, nil, nil, fmt.Errorf("bad domain in from address: %v", err)
|
||||
}
|
||||
addr := smtp.Address{Localpart: smtp.Localpart(from[0].User), Domain: d}
|
||||
lp, err := smtp.ParseLocalpart(from[0].User)
|
||||
if err != nil {
|
||||
return raddr, nil, nil, fmt.Errorf("parsing localpart in from address: %v", err)
|
||||
}
|
||||
addr := smtp.Address{Localpart: lp, Domain: d}
|
||||
return addr, p.Envelope, textproto.MIMEHeader(header), nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user