andk / pause

Perl authors upload server
http://pause.perl.org/
150 stars 57 forks source link

fix encoding of email addresses #489

Open rjbs opened 2 months ago

rjbs commented 2 months ago

We saw cases where a user with the "real name" of Bob"Smith could cause problems in how we'd send them mail. This branch will fix that.

Previously, the code often naively formed To or From headers with code like this:

my $to_header = qq{"$asciiname" <$email>};

This worked most of the time. Given an $asciiname with " in it, though, it would break. Probably one that ended in \ would break, and probably other case. Also, it's much nicer to use people's full names, rather than ASCII!

We send our emails using Email::MIME. Email::MIME allows certain kinds of objects to be provided for certain kinds of headers. Notably, an Email::MIME::Header::AddressList object can be passed for To, From, Cc, Reply-To, and some others. This branch makes it much easier to get or create AddressList objects, and then uses them in most places where emails are created.

rjbs commented 2 months ago

The edit_cred pause_2017 test is failing. I can't really tell why. I'll look into it more sometime soon, but maybe somebody (charsbar… 😉) can tell.

I did edit lib/pause_2017/PAUSE/Web/Controller/User/Cred.pm so I will go read that first…

rjbs commented 2 months ago

This may be ready for review…