Similar to syslog fails with non-ASCII wikinames, this bug happens when the wiki name has non-ascii characters in the site name. In my case, it has the "CⒶTS" string.
We get the following error in a password reset:
Error: Wide character in subroutine entry at /usr/share/perl5/Mail/Sendmail.pm line 308.
Help! --anarcat
I assume this means Mail::Sendmail doesn't know how to send Unicode strings, so any string passed to it (or any message body, or something?) will need to be passed through
encode_utf8()
. It looks as though Mail::Sendmail also defaults toContent-Type: 'text/plain; charset="iso-8859-1"'
so it'll need a
'Content-Type' => 'text/plain; charset="utf-8"'
too.I'm disappointed to see how many of the library modules used by ikiwiki are not Unicode-clean... but then again, Mail::Sendmail was last released in 2003 so it's hardly surprising. I wonder whether Email::Sender is any better?
(If you know Python 2, the analogous situation would be "doesn't know how to send unicode objects, so you have to get a str object with
a_unicode_object.encode('utf-8')
".) --smcvShameless plug: passwordauth: sendmail interface. Though, I have no idea whether that is UTF-8-safe. --tschwinge