[Mailman-Users] testing attachment-move custom handler

Mark Sapiro mark at msapiro.net
Tue Jun 3 06:18:24 CEST 2014

On 06/02/2014 02:41 AM, Sylvain Viart wrote:
> The remaining problems:
> => content encoding.
> If you send an email encoded in us-ascii it is rewritten in utf-8 to
> handle the text footer.
> For some unknown reason (to me) the part are now base64 encoded (may be
> due to multi-byte characters).
> Is it a bad thing for spam detection that the content is base64?
> Or should I let it that way.

base64 is the default encoding for utf-8 in the Python email library.
See <https://docs.python.org/2/library/email.charset.html>.

> Of course it introduces storage and inode fillup…
> => Is there some cron or scheduled code available?

To do what?

> There's a crontab.in  an also one installed by the debian package.

Mailman has several scripts in its cron directory which need to be run
by cron to provide various functionality. The GNU Mailman distribution
includes cron/crontab.in which is intended to be installed as the
Mailman user's crontab. Various packages may modify this and may install
it as a system rather than a user crontab.

> => About translation of the footer, what is the procedure?
> I found a huge:
> http://wiki.list.org/display/DEV/Managing+Translations
> http://wiki.list.org/display/DEV/i18nhowto
> I don't know if I will manage to write a human bearable procedure to
> install translation as well…

The procedure uses Mailman's i18n._() function (an implementation of
gettext plus interpolation of variables) to map English strings into
their target language translations using a message catalog for the
target language. See, e.g., <http://en.wikipedia.org/wiki/Gettext>.

Basically, the procedure is to code all your strings in English within
the i18n._() function. Then in Mailman's messages directory, run

make marked.files

to add your handler to the list of files that have strings to be
translated ...

make potfile

to update the mailman.pot template file, and finally, just


to msgmerge the mailman.pot with the various message catalogs, or just e.g.

msgmerge fr/LC_MESSAGES/mailman.po

to do just French.

Then you edit the mailman.po to add the translations of the new strings
and use msgfmt or Mailman's bin/msgfmt.py to compile the mailman.po into
the binary mailman.mo for the target language and install it.

Note that if you are thinking about i18n from the point of view of your
process being ultimately incorporated into the Mailman distribution, I
think your use case is not of sufficient general interest to warrant that.

Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

More information about the Mailman-Users mailing list