message held for moderation "no member", adding address: "already member"

Version: 2.1.13
Hi,
while my first issue was solved with Mark's great support, here is my current problem:
Messages by one specific sender are held for moderation with the given reasen, the sender is not part of the list. When it is added, mailman says "already a member" (original german: "Bereits Mitglied").
Where is the problem then?
Thanks! kardan
-- Kardan <kardan@riseup.net> Encrypt your email: http://gnupg.org/documentation Public GPG key 9D6108AE58C06558 at hkp://pool.sks-keyservers.net fpr: F72F C4D9 6A52 16A1 E7C9 AE94 9D61 08AE 58C0 6558

On 07/24/2013 02:54 PM, kardan wrote:
Messages by one specific sender are held for moderation with the given reasen, the sender is not part of the list. When it is added, mailman says "already a member" (original german: "Bereits Mitglied").
Where is the problem then?
The member is not posting from his exact subscribed address. E.g. he is subscribed as member@example.com and is posting from member@sub.example.com or vice versa or something similar.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Hi,
On Wed, 24 Jul 2013 17:03:52 -0700 Mark Sapiro wrote:
On 07/24/2013 02:54 PM, kardan wrote:
Messages by one specific sender are held for moderation with the given reasen, the sender is not part of the list. When it is added, mailman says "already a member" (original german: "Bereits Mitglied").
Where is the problem then?
The member is not posting from his exact subscribed address. E.g. he is subscribed as member@example.com and is posting from member@sub.example.com or vice versa or something similar.
I checked, that the sender address was the same as in the member list and when I added it, the same one was shown. So I think your case does not hit this one. Maybe I oversee something?
Kardan
-- Kardan <kardan@riseup.net> Encrypt your email: http://gnupg.org/documentation Public GPG key 9D6108AE58C06558 at hkp://pool.sks-keyservers.net fpr: F72F C4D9 6A52 16A1 E7C9 AE94 9D61 08AE 58C0 6558

On 07/26/2013 10:30 AM, kardan wrote:
Hi,
On Wed, 24 Jul 2013 17:03:52 -0700 Mark Sapiro wrote:
The member is not posting from his exact subscribed address. E.g. he is subscribed as member@example.com and is posting from member@sub.example.com or vice versa or something similar.
I checked, that the sender address was the same as in the member list and when I added it, the same one was shown. So I think your case does not hit this one. Maybe I oversee something?
What is the setting in Defaults.py and if any in mm_cfg.py for SENDER_HEADERS. The default setting
SENDER_HEADERS = ('from', None, 'reply-to', 'sender')
looks at From:, envelope sender (aka unix from), Reply-To: and Sender: for a member address. It is possible this installation has changed this to, for example, look only at the envelope sender.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Hi and thanks for your fast answer (as usual)!
Am Fri, 26 Jul 2013 12:21:21 -0700 schrieb Mark Sapiro <mark@msapiro.net>:
What is the setting in Defaults.py and if any in mm_cfg.py for SENDER_HEADERS.
SENDER_HEADERS = ('from', None, 'reply-to', 'sender') (none in Defaults.py)
The default setting
SENDER_HEADERS = ('from', None, 'reply-to', 'sender')
looks at From:, envelope sender (aka unix from), Reply-To: and Sender: for a member address. It is possible this installation has changed this to, for example, look only at the envelope sender.
This means there is no configuration problem with the list, but ..
I just had a look at the reason for the moderation request again, which was not shown like this in the interface:
"Mailadresse der Liste steht nicht im Mailheader (vielleicht wegen einer Weiterleitung?)" (list address not in the header, maybe forwarded?)
So the sender sends the mail to himself and BCCs the list. I informed him to at least CC the list in the future.
-- Kardan <kardan@riseup.net> Encrypt your email: http://gnupg.org/documentation Public GPG key 9D6108AE58C06558 at hkp://pool.sks-keyservers.net fpr: F72F C4D9 6A52 16A1 E7C9 AE94 9D61 08AE 58C0 6558

On 07/26/2013 05:28 PM, kardan wrote:
I just had a look at the reason for the moderation request again, which was not shown like this in the interface:
"Mailadresse der Liste steht nicht im Mailheader (vielleicht wegen einer Weiterleitung?)" (list address not in the header, maybe forwarded?)
So the sender sends the mail to himself and BCCs the list. I informed him to at least CC the list in the future.
There may be a problem with the actual translation. There are four strings involved. For a post from a non-member, we have list.')
- reason = _('Post by non-member to a members-only list')
- rejection = _('Non-members are not allowed to post messages to this
and for a post with implicit destination, we have
- reason = _('Message has implicit destination')
- rejection = _('''Blind carbon copies or other implicit destinations are not allowed. Try reposting your message by explicitly including the list address in the To: or Cc: fields.''')
The 'reasons' are what appear in the admindb summary and the notices to the admin and user. the 'rejections' appear only in the admindb detail as the default rejection message and in rejection messages if the default is not overridden.
The German translations of these are
"Absender ist nicht Mitglied der Liste -- E-Mails an die Liste aber nur für Mitglieder erlaubt! "
"Nichtmitgliedern ist es nicht gestattet, Nachrichten auf dieser Liste zu veröffentlichen."
"Mailadresse der Liste steht nicht im Mailheader (vielleicht wegen einer Weiterleitung?)"
"Blindkopien ('BCC:'), oder weitere enthaltene Zieladressen, sind nicht erlaubt. Tragen Sie die Adresse der Mailinmgliste in das 'An:'- oder 'Cc:'-Adressfeld ein und senden Sie Ihre Nachricht bitte noch einmal."
According to google translate, message 3. translates as "Mail address of the list is not in the mail header (perhaps because of a redirect?)" which seems less than completely clear.
Perhaps you or another German speaker can suggest a better alternative.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Am Fri, 26 Jul 2013 18:18:18 -0700 schrieb Mark Sapiro <mark@msapiro.net>:
On 07/26/2013 05:28 PM, kardan wrote:
I just had a look at the reason for the moderation request again, which was not shown like this in the interface:
"Mailadresse der Liste steht nicht im Mailheader (vielleicht wegen einer Weiterleitung?)" (list address not in the header, maybe forwarded?)
So the sender sends the mail to himself and BCCs the list. I informed him to at least CC the list in the future.
These are my favourites:
There may be a problem with the actual translation. There are four strings involved. For a post from a non-member, we have
- reason = _('Post by non-member to a members-only list')
- "Absender ist nicht Mitglied der Liste -- E-Mails an die Liste aber nur für Mitglieder erlaubt! " "Absender ist nicht Mitglied der Liste. Nachrichten an diese Liste nur für Mitglieder gestattet."
- rejection = _('Non-members are not allowed to post messages to this list.')
- "Nichtmitgliedern ist es nicht gestattet, Nachrichten auf dieser Liste zu veröffentlichen." Ok.
and for a post with implicit destination, we have
- reason = _('Message has implicit destination')
- "Mailadresse der Liste steht nicht im Mailheader (vielleicht wegen einer Weiterleitung?)"
The message is quite understandable. My problem was it was not shown in the moderation interface. There I saw reason 1 instead which was misleading. This one is a little more informative: "Die Adresse der Liste ist nicht unter den Empfängern (An oder CC). Wurde die Nachricht weitergeleitet, oder per BCC verschickt?"
- rejection = _('''Blind carbon copies or other implicit destinations are not allowed. Try reposting your message by explicitly including the list address in the To: or Cc: fields.''')
- "Blindkopien ('BCC:'), oder weitere enthaltene Zieladressen, sind nicht erlaubt. Tragen Sie die Adresse der Mailinmgliste in das 'An:'- oder 'Cc:'-Adressfeld ein und senden Sie Ihre Nachricht bitte noch einmal." This message is perfect and should have been shown instead of 1 ("the sender is not part of the list"). I don't know why this went wrong.
The 'reasons' are what appear in the admindb summary and the notices to the admin and user. the 'rejections' appear only in the admindb detail as the default rejection message and in rejection messages if the default is not overridden.
If I would have read the first moderation message properly - ("Mailadresse der Liste steht nicht im Mailheader (vielleicht wegen einer Weiterleitung?)") - I just had overlooked the misleading reason in the admindb ("the sender is not part of the list").
-- Kardan <kardan@riseup.net> Encrypt your email: http://gnupg.org/documentation Public GPG key 9D6108AE58C06558 at hkp://pool.sks-keyservers.net fpr: F72F C4D9 6A52 16A1 E7C9 AE94 9D61 08AE 58C0 6558

On 07/27/2013 04:16 AM, kardan wrote:
Am Fri, 26 Jul 2013 18:18:18 -0700 schrieb Mark Sapiro <mark@msapiro.net>:
There may be a problem with the actual translation. There are four strings involved. For a post from a non-member, we have
- reason = _('Post by non-member to a members-only list')
- "Absender ist nicht Mitglied der Liste -- E-Mails an die Liste aber nur für Mitglieder erlaubt! " "Absender ist nicht Mitglied der Liste. Nachrichten an diese Liste nur für Mitglieder gestattet."
I'll look at updating that message. Thanks.
- rejection = _('Non-members are not allowed to post messages to this list.')
- "Nichtmitgliedern ist es nicht gestattet, Nachrichten auf dieser Liste zu veröffentlichen." Ok.
and for a post with implicit destination, we have
- reason = _('Message has implicit destination')
- "Mailadresse der Liste steht nicht im Mailheader (vielleicht wegen einer Weiterleitung?)"
The message is quite understandable. My problem was it was not shown in the moderation interface. There I saw reason 1 instead which was misleading. This one is a little more informative: "Die Adresse der Liste ist nicht unter den Empfängern (An oder CC). Wurde die Nachricht weitergeleitet, oder per BCC verschickt?"
OK. I'll look at updating that one too.
- rejection = _('''Blind carbon copies or other implicit destinations are not allowed. Try reposting your message by explicitly including the list address in the To: or Cc: fields.''')
- "Blindkopien ('BCC:'), oder weitere enthaltene Zieladressen, sind nicht erlaubt. Tragen Sie die Adresse der Mailinmgliste in das 'An:'- oder 'Cc:'-Adressfeld ein und senden Sie Ihre Nachricht bitte noch einmal." This message is perfect and should have been shown instead of 1 ("the sender is not part of the list"). I don't know why this went wrong.
I don't know wht you saw the wrong message. Two possibilities occur two me. This could be verified only by looking at the various held message entries in Mailman's 'vette' log.
The first, and I think more likely possibility is the an initial post was held as a non-member post and the poster got a notice and subscribed (You could also check Mailman's 'subscribe' log) before you tried to subscribe him.
The only other possibility I can think of is the German message catalog in the Mailman installation that supports your list has been modified or corrupted somehow and is displaying the wrong translation for strings 3 and 4.
I just thought of a third possibility which seems more likely that the two above. See below.
The 'reasons' are what appear in the admindb summary and the notices to the admin and user. the 'rejections' appear only in the admindb detail as the default rejection message and in rejection messages if the default is not overridden.
If I would have read the first moderation message properly - ("Mailadresse der Liste steht nicht im Mailheader (vielleicht wegen einer Weiterleitung?)") - I just had overlooked the misleading reason in the admindb ("the sender is not part of the list").
That message can be seen in the admindb even though the user is a list member in the following way.
I explained before how SENDER_HEADERS are consulted to deterrmine if a post is from a list member. However, once a post is held and displayed in the admindb interface, admindb uses a different method to determine the sender. If USE_ENVELOPE_SENDER is set to Yes in mm_cfg.py (or changed to Yes in Defaults.py), admindb will take the contents of a Sender: header if any in preference to From:.
In this case, the message could be From: a member but have a Sender: which is not a member, and the message could be held for some other reason like 'too big' or 'implicit destination' and the left hand side of the admindb summary will say the sender is not a list member.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Hi Mark,
On Sat, 27 Jul 2013 16:18:03 -0700 Mark Sapiro <mark@msapiro.net> wrote:
- rejection = _('''Blind carbon copies or other implicit destinations are not allowed. Try reposting your message by explicitly including the list address in the To: or Cc: fields.''')
- "Blindkopien ('BCC:'), oder weitere enthaltene Zieladressen, sind nicht erlaubt. Tragen Sie die Adresse der Mailinmgliste in das 'An:'- oder 'Cc:'-Adressfeld ein und senden Sie Ihre Nachricht bitte noch einmal."
This message is perfect and should have been shown instead of 1 ("the sender is not part of the list"). I don't know why this went wrong.
I don't know why you saw the wrong message. Two possibilities occur two me. This could be verified only by looking at the various held message entries in Mailman's 'vette' log. The log said: "Reason: Blind carbon copies or other implicit destinations are not allowed. Try reposting your message by explicitly including the list address in the To: or Cc: fields."
The first, and I think more likely possibility is the an initial post was held as a non-member post and the poster got a notice and subscribed (You could also check Mailman's 'subscribe' log) before you tried to subscribe him. Unfortunately this is not the reason as the poster is a member since the list was created and even is one of the moderators. (Sorry, I didn't tell before.)
The only other possibility I can think of is the German message catalog in the Mailman installation that supports your list has been modified or corrupted somehow and is displaying the wrong translation for strings 3 and 4. Makes sense but seems unlikely. Which file is the right one to check?
I just thought of a third possibility which seems more likely that the two above. See below.
The 'reasons' are what appear in the admindb summary and the notices to the admin and user. the 'rejections' appear only in the admindb detail as the default rejection message and in rejection messages if the default is not overridden.
If I would have read the first moderation message properly - ("Mailadresse der Liste steht nicht im Mailheader (vielleicht wegen einer Weiterleitung?)") - I just had overlooked the misleading reason in the admindb ("the sender is not part of the list").
That message can be seen in the admindb even though the user is a list member in the following way.
I explained before how SENDER_HEADERS are consulted to deterrmine if a post is from a list member. However, once a post is held and displayed in the admindb interface, admindb uses a different method to determine the sender. If USE_ENVELOPE_SENDER is set to Yes in mm_cfg.py (or changed to Yes in Defaults.py), admindb will take the contents of a Sender: header if any in preference to From:. USE_ENVELOPE_SENDER = No and there is no Sender defined in the header.
In this case, the message could be From: a member but have a Sender: which is not a member, and the message could be held for some other reason like 'too big' or 'implicit destination' and the left hand side of the admindb summary will say the sender is not a list member.
Thanks a lot for the explanations and sorry for my delay. The sender agreed to send messages to the list separatedly instead of BCCing in the future. Though I like to help to track this down to see if it is a Mailman bug or misconfiguration.
I send you the original mail and the mailman reminder so you can inspect the headers.
-- Kardan <kardan@riseup.net> Encrypt your email: http://gnupg.org/documentation Public GPG key 9D6108AE58C06558 at hkp://pool.sks-keyservers.net fpr: F72F C4D9 6A52 16A1 E7C9 AE94 9D61 08AE 58C0 6558
participants (2)
-
kardan
-
Mark Sapiro