sudo -u list mailman digests -vp tells that the most recent digest has been sent, but nobody receives these digests. No mail or other log file has any clue what has happened.
digest_queue = config.switchboards['digest']
digest_queue <mailman.core.switchboard.Switchboard object at 0x7f9c8ed14940> digest_queue.files []
m.digest_send_periodic = True
Normal, non-digest messages are sent correctly. Administrative messages as well.
Using GNU Mailman 3.2.0 (La Villa Strangiato)
Where could I look for errors / stuck queues?
/var/lib/mailman3/lists /var/lib/mailman3/lists/mailman.unswolke.de /var/lib/mailman3/lists/mailman.unswolke.de/digest.2.3.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.3.2.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.4.2.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.2.6.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.2.4.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.4.1.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.3.1.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.4.3.mmdf
On 1/9/19 1:37 AM, "Jörg M. Schulz" wrote:
Normal, non-digest messages are sent correctly. Administrative messages as well.
Using GNU Mailman 3.2.0 (La Villa Strangiato)
Where could I look for errors / stuck queues?
/var/lib/mailman3/lists /var/lib/mailman3/lists/mailman.unswolke.de /var/lib/mailman3/lists/mailman.unswolke.de/digest.2.3.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.3.2.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.4.2.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.2.6.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.2.4.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.4.1.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.3.1.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.4.3.mmdf
When a digest is to be sent by 'mailman digests', the digest.mmdf file is renamed to digest.x.y.mmdf (x and y are the volume and issue numbers) and an entry placed in queue/digests to send that digest. The digest runner then picks up that entry, prepares the digest, queues it in queue/virgin to be sent to the recipients if any and removes the digest.x.y.mmdf file.
Since the digest.x.y.mmdf files are not removed, either the digest runner is not running at all in which case there will still be entries in queue/digests or it is encountering an error in processing in which case there should be messages with tracebacks in Mailman's error log and probably messages in queue/shunt.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Arrgh, you got it. There are messages in the shunt directories. But, also in mailman log. Uncaught runner exception: 'ascii' codec can't encode character '\xdf' in position 157: ordinal not in range(128) Jan 09 12:24:06 2019 (17491) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 173, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 266, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/lib/python3/dist-packages/mailman/runners/digest.py", line 324, in _dispose mime = mime_digest.finish() File "/usr/lib/python3/dist-packages/mailman/runners/digest.py", line 185, in finish footer = MIMEText(footer_text.encode(self._charset), so the footers may not contain special characters. Will review this one.
This is the only thing I hate with python...
Am 09.01.2019 um 18:02 schrieb Mark Sapiro <mark@msapiro.net>:
On 1/9/19 1:37 AM, "Jörg M. Schulz" wrote:
Normal, non-digest messages are sent correctly. Administrative messages as well.
Using GNU Mailman 3.2.0 (La Villa Strangiato)
Where could I look for errors / stuck queues?
/var/lib/mailman3/lists /var/lib/mailman3/lists/mailman.unswolke.de /var/lib/mailman3/lists/mailman.unswolke.de/digest.2.3.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.3.2.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.4.2.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.2.6.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.2.4.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.4.1.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.3.1.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.mmdf /var/lib/mailman3/lists/mailman.unswolke.de/digest.4.3.mmdf
When a digest is to be sent by 'mailman digests', the digest.mmdf file is renamed to digest.x.y.mmdf (x and y are the volume and issue numbers) and an entry placed in queue/digests to send that digest. The digest runner then picks up that entry, prepares the digest, queues it in queue/virgin to be sent to the recipients if any and removes the digest.x.y.mmdf file.
Since the digest.x.y.mmdf files are not removed, either the digest runner is not running at all in which case there will still be entries in queue/digests or it is encountering an error in processing in which case there should be messages with tracebacks in Mailman's error log and probably messages in queue/shunt.
-- Mark Sapiro <mark@msapiro.net <mailto:mark@msapiro.net>> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mailman-users mailing list -- mailman-users@mailman3.org <mailto:mailman-users@mailman3.org> To unsubscribe send an email to mailman-users-leave@mailman3.org <mailto:mailman-users-leave@mailman3.org> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/ <https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/>
On 1/9/19 9:33 AM, "Jörg M. Schulz" wrote:
But, also in mailman log. Uncaught runner exception: 'ascii' codec can't encode character '\xdf' in position 157: ordinal not in range(128) Jan 09 12:24:06 2019 (17491) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 173, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 266, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/lib/python3/dist-packages/mailman/runners/digest.py", line 324, in _dispose mime = mime_digest.finish() File "/usr/lib/python3/dist-packages/mailman/runners/digest.py", line 185, in finish footer = MIMEText(footer_text.encode(self._charset), so the footers may not contain special characters. Will review this one.
in the above, self._charset is the character set of the lists preferred_language. The footer can't contain characters not in the character set of the list's preferred_language. For English (en) this is us-ascii. For German (de) it is iso-8859-1. These are artifacts from Mailman 2.1
You can change this for English by putting
[language.en] charset: utf-8
in your mailman.cfg. This works because us-ascii is a proper subset of utf-8.
For other languages, a change like this might require recoding of templates and/or a message catalog, but since we don't currently ship any non-English templates or message catalogs, that is moot at the moment.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mark Sapiro wrote:
You can change this for English by putting
[language.en] charset: utf-8
in your mailman.cfg. This works because us-ascii is a proper subset of utf-8.
I forgot to mention that there is a potential downside to the above. Because of the way the Python email library treats UTF-8 message bodies, list messages with UTF-8 bodies are sent with the body base64 encoded. This may or may not be an issue depending on whether you look at raw messages or perhaps grep mailboxes looking for things.
and: When I put the stanza
[language.en] into the mailman.cfg, the service doesn’t restart: … PermissionError: [Errno 13] Permission denied: '//var/templates'
somehow the template path gets lost by defining this section. Possibly, somewhere the path to the .en / language templates must be set. How, where?
Am 09.01.2019 um 20:50 schrieb Mark Sapiro <mark@msapiro.net>:
Mark Sapiro wrote:
You can change this for English by putting
[language.en] charset: utf-8
in your mailman.cfg. This works because us-ascii is a proper subset of utf-8.
I forgot to mention that there is a potential downside to the above. Because of the way the Python email library treats UTF-8 message bodies, list messages with UTF-8 bodies are sent with the body base64 encoded. This may or may not be an issue depending on whether you look at raw messages or perhaps grep mailboxes looking for things.
Mailman-users mailing list -- mailman-users@mailman3.org To unsubscribe send an email to mailman-users-leave@mailman3.org https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
On 1/9/19 11:53 AM, "Jörg M. Schulz" wrote:
and: When I put the stanza
[language.en] into the mailman.cfg, the service doesn’t restart: … PermissionError: [Errno 13] Permission denied: '//var/templates'
somehow the template path gets lost by defining this section. Possibly, somewhere the path to the .en / language templates must be set. How, where?
How are you restarting the service? Is is running as the Mailman user?
There are issues that can occur if the service has run as root and is then restarted as the Mailman user. Some files get created by root which then can't be read/written by the Mailman user after restart.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
start fails when I use
# The default language for this server. default_language: en [language.en] charset: utf-8 enabled: yes
when I comment out the lines above, mailman starts.
Am 09.01.2019 um 20:53 schrieb Jörg M. Schulz <js@jslz.de>:
and: When I put the stanza
[language.en] into the mailman.cfg, the service doesn’t restart: … PermissionError: [Errno 13] Permission denied: '//var/templates'
somehow the template path gets lost by defining this section. Possibly, somewhere the path to the .en / language templates must be set. How, where?
Am 09.01.2019 um 20:50 schrieb Mark Sapiro <mark@msapiro.net <mailto:mark@msapiro.net>>:
Mark Sapiro wrote:
You can change this for English by putting
[language.en] charset: utf-8
in your mailman.cfg. This works because us-ascii is a proper subset of utf-8.
I forgot to mention that there is a potential downside to the above. Because of the way the Python email library treats UTF-8 message bodies, list messages with UTF-8 bodies are sent with the body base64 encoded. This may or may not be an issue depending on whether you look at raw messages or perhaps grep mailboxes looking for things.
Mailman-users mailing list -- mailman-users@mailman3.org <mailto:mailman-users@mailman3.org> To unsubscribe send an email to mailman-users-leave@mailman3.org <mailto:mailman-users-leave@mailman3.org> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/ <https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/>
On 1/9/19 12:02 PM, "Jörg M. Schulz" wrote:
start fails when I use
# The default language for this server. default_language: en [language.en] charset: utf-8 enabled: yes
when I comment out the lines above, mailman starts.
And in what section is this put? I.e. if the last preceding section header is not [mailman], the default_language: en is in a section where it doesn't belong.
Or are you saying that you had set the server default_language to something other than 'en' and the above is intended to change it to 'en'. In that case, look at var/templates/en and ensure it and subordinates are user:group list:list
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
when I use the lines below, the templates are looked for in //var. When I comment them out, the location is correct: /var/lib/mailman3/ (debian buster standard) . The user list has full access. The folder is empty.
See
mailman.cfg:
[mailman] # This address is the "site owner" address. Certain messages which must be # delivered to a human, but which can't be delivered to a list owner (e.g. a # bounce from a list owner), will be sent to this address. It should point to # a human. site_owner: help@elternserver.de
# This is the local-part of an email address used in the From field whenever a # message comes from some entity to which there is no natural reply recipient. # Mailman will append '@' and the host name of the list involved. This # address must not bounce and it must not point to a Mailman process. noreply_address: noreply
# The default language for this server. default_language: en [language.en] charset: utf-8 enabled: yes
[language.de] description: German charset: iso-8859-1 enabled: yes
Am 09.01.2019 um 21:12 schrieb Mark Sapiro <mark@msapiro.net>:
On 1/9/19 12:02 PM, "Jörg M. Schulz" wrote:
start fails when I use
# The default language for this server. default_language: en [language.en] charset: utf-8 enabled: yes
when I comment out the lines above, mailman starts.
And in what section is this put? I.e. if the last preceding section header is not [mailman], the default_language: en is in a section where it doesn't belong.
Or are you saying that you had set the server default_language to something other than 'en' and the above is intended to change it to 'en'. In that case, look at var/templates/en and ensure it and subordinates are user:group list:list
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mailman-users mailing list -- mailman-users@mailman3.org To unsubscribe send an email to mailman-users-leave@mailman3.org https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
On 1/9/19 12:20 PM, "Jörg M. Schulz" wrote:
when I use the lines below, the templates are looked for in //var. When I comment them out, the location is correct: /var/lib/mailman3/ (debian buster standard) . The user list has full access. The folder is empty.
//var refers to the directory defined in mailman.cfg (or the default in mailman/config/schema.cfg) as
[paths.master] var_dir:
Exactly which of the following lines did you add and then comment out? Just the three lines
[language.en] charset: utf-8 enabled: yes
or something more?
mailman.cfg:
[mailman] # This address is the "site owner" address. Certain messages which must be # delivered to a human, but which can't be delivered to a list owner (e.g. a # bounce from a list owner), will be sent to this address. It should point to # a human. site_owner: help@elternserver.de
# This is the local-part of an email address used in the From field whenever a # message comes from some entity to which there is no natural reply recipient. # Mailman will append '@' and the host name of the list involved. This # address must not bounce and it must not point to a Mailman process. noreply_address: noreply
# The default language for this server. default_language: en [language.en] charset: utf-8 enabled: yes
[language.de] description: German charset: iso-8859-1 enabled: yes
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
To make it work, I have to comment out like this:
Also only commenting out the .de section doesn’t help
# The default language for this server. default_language: en # [language.en] # charset: utf-8 # enabled: yes
# [language.de] # description: German # charset: iso-8859-1 # enabled: yes
Am 09.01.2019 um 21:50 schrieb Mark Sapiro <mark@msapiro.net>:
On 1/9/19 12:20 PM, "Jörg M. Schulz" wrote:
when I use the lines below, the templates are looked for in //var. When I comment them out, the location is correct: /var/lib/mailman3/ (debian buster standard) . The user list has full access. The folder is empty.
//var refers to the directory defined in mailman.cfg (or the default in mailman/config/schema.cfg) as
[paths.master] var_dir:
Exactly which of the following lines did you add and then comment out? Just the three lines
[language.en] charset: utf-8 enabled: yes
or something more?
mailman.cfg:
[mailman] # This address is the "site owner" address. Certain messages which must be # delivered to a human, but which can't be delivered to a list owner (e.g. a # bounce from a list owner), will be sent to this address. It should point to # a human. site_owner: help@elternserver.de
# This is the local-part of an email address used in the From field whenever a # message comes from some entity to which there is no natural reply recipient. # Mailman will append '@' and the host name of the list involved. This # address must not bounce and it must not point to a Mailman process. noreply_address: noreply
# The default language for this server. default_language: en [language.en] charset: utf-8 enabled: yes
[language.de] description: German charset: iso-8859-1 enabled: yes
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mailman-users mailing list -- mailman-users@mailman3.org To unsubscribe send an email to mailman-users-leave@mailman3.org https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
On 1/9/19 12:53 PM, "Jörg M. Schulz" wrote:
To make it work, I have to comment out like this:
Also only commenting out the .de section doesn’t help
# The default language for this server. default_language: en # [language.en] # charset: utf-8 # enabled: yes
# [language.de] # description: German # charset: iso-8859-1 # enabled: yes
First, everything there should be a default, at least upstream, with the one exception of
[language.en] charset: utf-8
I confess, I don't understand this, but please see <https://wiki.list.org/x/12812344>, and if you want to pursue it, report the issue to Debian.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
When I remove the offending special character from the footer, digests are sent out perfectly. So, for international use, we have to wait for the language template system to be ready …
By the way: Thank you for your continuing work with this marvellous piece of software.
Am 09.01.2019 um 19:16 schrieb Mark Sapiro <mark@msapiro.net>:
On 1/9/19 9:33 AM, "Jörg M. Schulz" wrote:
But, also in mailman log. Uncaught runner exception: 'ascii' codec can't encode character '\xdf' in position 157: ordinal not in range(128) Jan 09 12:24:06 2019 (17491) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 173, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 266, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/lib/python3/dist-packages/mailman/runners/digest.py", line 324, in _dispose mime = mime_digest.finish() File "/usr/lib/python3/dist-packages/mailman/runners/digest.py", line 185, in finish footer = MIMEText(footer_text.encode(self._charset), so the footers may not contain special characters. Will review this one.
in the above, self._charset is the character set of the lists preferred_language. The footer can't contain characters not in the character set of the list's preferred_language. For English (en) this is us-ascii. For German (de) it is iso-8859-1. These are artifacts from Mailman 2.1
You can change this for English by putting
[language.en] charset: utf-8
in your mailman.cfg. This works because us-ascii is a proper subset of utf-8.
For other languages, a change like this might require recoding of templates and/or a message catalog, but since we don't currently ship any non-English templates or message catalogs, that is moot at the moment.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mailman-users mailing list -- mailman-users@mailman3.org To unsubscribe send an email to mailman-users-leave@mailman3.org https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
participants (2)
-
"Jörg M. Schulz"
-
Mark Sapiro