Re: Can't add emails to accept_these_nonmembers
by Ibiam Chihurumnaya
Mark Sapiro wrote:
> On 2/26/26 13:20, Ibiam Chihurumnaya via Mailman-users wrote:
> > I'm doing it in mailman shell, list_name is a List object, and it seems to have a settings
> > attribute as list_name.settings returns
> > {'acceptable_aliases': [], ...}
> > I would really like to know what Mailman version this is, and how it was
> installed? In my case with Mailman core from the head of the GitLab branch:
> $ mailman shell -l list.example.com
> Welcome to the GNU Mailman shell
> Use commit() to commit changes.
> Use abort() to discard changes since the last commit.
> Exit with ctrl+D does an implicit commit() but exit() does not.
> The variable 'm' is the list.example.com mailing list
> >>> m.settings
> Traceback (most recent call last):
> File "<console>", line 1, in <module>
> AttributeError: 'MailingList' object has no attribute 'settings'
> >>> m.settings['accept_these_nonmembers']
> Traceback (most recent call last):
> File "<console>", line 1, in <module>
> AttributeError: 'MailingList' object has no attribute 'settings'
> >>>
Currently running Mailman 3.3.10 and I followed the instructions from https://docs.mailman3.org/en/latest/install/virtualenv.html# to install.
This is the output from mine, I get the same output as you do when I try exactly what you do;
mailman shell -l systems-logs(a)lists.sugarlabs.org
Welcome to the GNU Mailman shell
Use commit() to commit changes.
Use abort() to discard changes since the last commit.
Exit with ctrl+D does an implicit commit() but exit() does not.
The variable 'm' is the systems-logs(a)lists.sugarlabs.org mailing list
>>> m.settings
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'MailingList' object has no attribute 'settings'
I get something else when I do it differently - how I've been doing it so far -.
mailman shell
Welcome to the GNU Mailman shell
Use commit() to commit changes.
Use abort() to discard changes since the last commit.
Exit with ctrl+D does an implicit commit() but exit() does not.
>>> from mailmanclient import Client
>>> from mailmanclient import Client
>>> client = Client('http://localhost:8001/3.1', '**', '**')
>>> sg = client.domains[0]
>>> sy = sg.get_lists()[-1]
>>> sy
<List 'systems-logs(a)lists.sugarlabs.org'>
>>> sy.settings
{'acceptable_aliases': [], 'accept_these_nonmembers': [], 'admin_immed_notify': True, 'admin_notify_mchanges': False, 'administrivia': True, 'advertised': False, 'allow_list_posts': True, 'anonymous_list': False, 'archive_policy': 'public', 'archive_rendering_mode': 'text', 'autorespond_owner': 'none', 'autorespond_postings': 'none', 'autorespond_requests': 'none', 'autoresponse_grace_period': '90d', 'autoresponse_owner_text': '', 'autoresponse_postings_text': '', 'autoresponse_request_text': '', 'bounces_address': 'systems-logs-bounces(a)lists.sugarlabs.org', 'bounce_info_stale_after': '7d', 'bounce_notify_owner_on_bounce_increment': False, 'bounce_notify_owner_on_disable': True, 'bounce_notify_owner_on_removal': True, 'bounce_score_threshold': 5, 'bounce_you_are_disabled_warnings': 3, 'bounce_you_are_disabled_warnings_interval': '7d', 'collapse_alternatives': True, 'convert_html_to_plaintext': False, 'created_at': '2026-02-04T21:53:10.928951', 'default_member_action': 'defer', 'default_nonmember_action': 'accept', 'description': '', 'digest_last_sent_at': '2026-02-27T11:24:11.916379', 'digest_send_periodic': True, 'digest_size_threshold': 30.0, 'digest_volume_frequency': 'monthly', 'digests_enabled': True, 'display_name': 'Systems-logs', 'discard_these_nonmembers': [], 'dmarc_mitigate_action': 'no_mitigation', 'dmarc_mitigate_unconditionally': False, 'dmarc_addresses': [], 'dmarc_moderation_notice': '', 'dmarc_wrapped_message_text': '', 'emergency': False, 'filter_action': 'discard', 'filter_content': False, 'filter_extensions': [], 'filter_types': [], 'first_strip_reply_to': False, 'forward_unrecognized_bounces_to': 'administrators', 'fqdn_listname': 'systems-logs(a)lists.sugarlabs.org', 'gateway_to_mail': False, 'gateway_to_news': False, 'hold_these_nonmembers': [], 'include_rfc2369_headers': True, 'info': '', 'join_address': 'systems-logs-join(a)lists.sugarlabs.org', 'last_post_at': '2026-02-27T11:32:51.317220', 'leave_address': 'systems-logs-leave(a)lists.sugarlabs.org', 'linked_newsgroup': '', 'list_name': 'systems-logs', 'mail_host': 'lists.sugarlabs.org', 'max_message_size': 40, 'max_num_recipients': 10, 'max_days_to_hold': 0, 'member_roster_visibility': 'moderators', 'moderator_password': None, 'newsgroup_moderation': 'none', 'next_digest_number': 60, 'nntp_prefix_subject_too': True, 'no_reply_address': 'noreply(a)lists.sugarlabs.org', 'owner_address': 'systems-logs-owner(a)lists.sugarlabs.org', 'pass_types': [], 'pass_extensions': [], 'personalize': 'none', 'post_id': 316, 'posting_address': 'systems-logs(a)lists.sugarlabs.org', 'posting_pipeline': 'default-posting-pipeline', 'preferred_language': 'en', 'process_bounces': True, 'reject_these_nonmembers': [], 'reply_goes_to_list': 'no_munging', 'reply_to_address': '', 'request_address': 'systems-logs-request(a)lists.sugarlabs.org', 'require_explicit_destination': True, 'respond_to_post_requests': True, 'send_goodbye_message': True, 'send_welcome_message': True, 'subject_prefix': '[Systems-logs] ', 'subscription_policy': 'confirm', 'unsubscription_policy': 'confirm', 'usenet_watermark': None, 'volume': 1}
>
> Presumably in your case, you could do
> list_name.settings['accept_these_nonmembers'].append('user(a)example.com')
>
> or
>
> list_name.settings['accept_these_nonmembers'].extend(['user1(a)example.com',
> 'user2(a)example.com', 'user3(a)example.com'])
>
> but as I've said previously, accept_these_nonmembers is not the
> preferred way to do this. Something like
> $ mailman addmembers --delivery disabled FILE LIST
>
Yes, I see now that it's not the preferred way to do it.
It's difficult to know that when looking at the documentation.
> where FILE contains the addresses to add, one per line and LIST is the
> list name would add the addresses as members with delivery disabled. To
> add them as nonmembers with moderation_action Defer:
> $ mailman shell -l list.example.com
> Welcome to the GNU Mailman shell
> Use commit() to commit changes.
> Use abort() to discard changes since the last commit.
> Exit with ctrl+D does an implicit commit() but exit() does not.
> The variable 'm' is the list.example.com mailing list
> >>> from mailman.app.membership import add_member
> >>> addresses = ('user1(a)example.com', 'user2(a)example.com',
> ... 'user3(a)example.com')
> >>> for addr in addresses:
> ... rr = RequestRecord(addr)
> ... nm = add_member(m, rr, role=MemberRole.nonmember)
> ... nm.moderation_action = Action.defer
> ...
> >>>commit()
Thank you!
>
> Of course, all of this can be done, perhaps more easily, using the
> Postorius web UI.
Yes, but like I've mentioned in another thread, I don't have access to the web UI because
I can't get a confirmation link.
> --
> Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
> San Francisco Bay Area, California better use your sense - B. Dylan
2 months
Re: LookupError: unknown encoding: _iso-2022-jp$esc
by Mark Sapiro
On 09/07/2018 08:30 AM, Thor Atle Rustad wrote:
> This happens when I open a page of Held Messages containing an offending
> message. I get Server Error (500) in Postorius. Here is the mailman.log:
>
>
> Sep 07 15:25:39 2018 (32) REST request handler error:
> Traceback (most recent call last):
> File "/usr/local/lib/python3.6/wsgiref/handlers.py", line 137, in run
> self.result = application(self.environ, self.start_response)
> File
> "/usr/local/lib/python3.6/site-packages/mailman/database/transaction.py",
> line 50, in wrapper
> rtn = function(*args, **kws)
> File "/usr/local/lib/python3.6/site-packages/mailman/rest/wsgiapp.py",
> line 214, in __call__
> return super().__call__(environ, start_response)
> File "/usr/local/lib/python3.6/site-packages/falcon/api.py", line 244, in
> __call__
> responder(req, resp, **params)
> File
> "/usr/local/lib/python3.6/site-packages/mailman/rest/post_moderation.py",
> line 160, in on_get
> resource = self._make_collection(request)
> File "/usr/local/lib/python3.6/site-packages/mailman/rest/helpers.py",
> line 159, in _make_collection
> for resource in collection]
> File "/usr/local/lib/python3.6/site-packages/mailman/rest/helpers.py",
> line 159, in <listcomp>
> for resource in collection]
> File
> "/usr/local/lib/python3.6/site-packages/mailman/rest/post_moderation.py",
> line 150, in _resource_as_dict
> resource = self._make_resource(request.id)
> File
> "/usr/local/lib/python3.6/site-packages/mailman/rest/post_moderation.py",
> line 77, in _make_resource
> resource['msg'] = msg.as_string()
> File "/usr/local/lib/python3.6/site-packages/mailman/email/message.py",
> line 54, in as_string
> value = email.message.Message.as_string(self)
> File "/usr/local/lib/python3.6/email/message.py", line 158, in as_string
> g.flatten(self, unixfrom=unixfrom)
> File "/usr/local/lib/python3.6/email/generator.py", line 116, in flatten
> self._write(msg)
> File "/usr/local/lib/python3.6/email/generator.py", line 181, in _write
> self._dispatch(msg)
> File "/usr/local/lib/python3.6/email/generator.py", line 214, in _dispatch
> meth(msg)
> File "/usr/local/lib/python3.6/email/generator.py", line 243, in
> _handle_text
> msg.set_payload(payload, charset)
> File "/usr/local/lib/python3.6/email/message.py", line 315, in set_payload
> payload = payload.encode(charset.output_charset)
> LookupError: unknown encoding: _iso-2022-jp$esc
I think this should be fixed in Mailman core 3.2.0.
It is related to Mailman core issues 256, 437 and 470 and merge requests
197, 322, 350 and 375. In particular, it looks like you are missing at
least <https://gitlab.com/mailman/mailman/merge_requests/375>.
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
7 years, 7 months
Re: Moderate mails from owner
by Mark Sapiro
On 4/30/19 1:04 AM, Henrik Rasmussen wrote:
> @Mark: I am really sorry for the delayed responses, but this is a very low frequency list. I have subscribed to the list using a non-Microsoft address to see the outcome.
>
> The mails does indeed contain 'X-Mailman' headers.
>
> X-Mailman-Rule-Hits:nonmember-moderation
> X-Mailman-Rule-Misses:dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation
It looks like the message hit the nonmember-moderation rule and was
accepted. This can happen in a few ways:
First we determine the senders. Assuming the config is default, these
are the addresses in From:, the envelope sender, and addresses in
Reply-To: and Sender: if any.
The only address I can see in the message headers that hasn't been
altered by Mailman is the From: and maybe Reply-To: which you have
munged to [LISTNAME](a)senderdep.example.com.
Anyway that unmunged address and possibly others from the original
incoming message will be users of the list with role nonmember.
Now each of those (possibly only the one) nonmember(s) is checked for a
moderation action. Since the message does not appear to have been held
or processed through rules beyond nonmember-moderation, we presumably
found a moderation action of accept.
This can happen in a few ways., If this list was originally imported
from Mailman 2.1 by the 'mailman import21' command, there may be a
legacy accept_these_nonmembers attribute for the list. If so, and if a
nonmember sender address matches an address or pattern in the list's
accept_these_nonmembers, the message will be accepted. Otherwise if the
moderation_action for a nonmember sender address is accept the message
will be accepted.
You need to check the list's accept_these_nonmembers attribute and the
non-member address's moderation action.
If you have recent Postorius, you can see nonmembers and their options
from the 'users' -> Non-members view.
In any case, you can do something like
mailman shell -l list.example.com
Welcome to the GNU Mailman shell
The variable 'm' is the list.example.com mailing list
>>> m.accept_these_nonmembers
returns a possibly empty list
Then for the sender addresses
>>> memb = m.nonmembers.get_member('sender address')
>>> memb.moderation_action
This may return
<Action.accept: 3>
in which case you may want
>>> memb.moderation_action = m.default_nonmember_action
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
6 years, 11 months
Re: Question about message bounce stats
by Abhilash Raj
> On Aug 30, 2021, at 11:27 AM, Stephen J. Turnbull <stephenjturnbull(a)gmail.com> wrote:
>
> Ruth Ivimey-Cook writes:
>
>> If Abhilash has a starting point,
>
> IIRC it was quite primitive, and probably not at the the individual
> message level, more like list level.
We do keep a bounce score for Member (email, mailinglist pair) that
is right now only available in Mailman’s database and is used for the
purposes of un-subscriptions or disabling delivery.
We haven’t had a chance to expose these values through REST API,
but it is something I’d be happy to accept a patch for and isn’t too
difficult if someone wants to pick up the task. It might be helpful
at some point to expose some of those stats to the list owner or site
admin as well in Postorius.
>
>> and there is acceptance from others to integrate something of this
>> sort, then I could possibly help make it happen.
>
> If you're that interested, I'd say get started, at least on sketching
> out requirements. There will probably be some nitpicking about code
> style and the like, and there may be delays in integrating stuff due
> to the peanut gallery contributing requirements that we decide we want
> in the feature, but I don't think there's a problem with the basic
> idea.
Yep, +1. It would be good to first figure out what more stats do we
need/want and if they just need to be exposed through the API or
we need to setup some offline setup for calculating those metrics
with some mechanism and then expose.
>
> We won't be putting tracking pixels and the like in outgoing posts,
> but as long as it's internal data already generated by normal Mailman
> operation, I would be somewhere between very surprised and shocked
> (SHOCKED, I tell you!) if it weren't accepted.
Yeah, anything that is possible to generate with regular Mailman
operation is already possible for a site admin to get from logs with
some scripting. So, the idea to expose them in a better UX I guess
should be okay. Only thing we might want to consider is how much
of that data is exposed to non-server-admins (list owners, mods etc)
and the policy enforcement for that if users don’t like the default.
--
thanks,
Abhilash Raj (maxking)
4 years, 7 months
Re: rDNS issue? Helo name contains an IP address (HELO was [127.0.0.1]) and not is valid
by Kyriakos Terzopoulos
Hi Steve,
I'll check runq and let you know. As for the spaces it was just a
copy/paste fail from my part since I want to obfuscate the true domain name.
*Kyriakos Terzopoulos
*Web developer / e-learning expert
*Tel:*+30 211 213 9858
*Mobile:* +30 694 526 4512
* E-mail: *kyriakos.terzopoulos(a)gmail.com
* Skype:* kyriakos.terzopoulos
Find me on Facebook <http://www.facebook.com/cirrus3d>
Follow me on Twitter <http://twitter.com/#%21/cirrus3d>
On Wed, 25 Oct 2023 at 20:29, Stephen J. Turnbull <
turnbull.stephen.fw(a)u.tsukuba.ac.jp> wrote:
> Kyriakos Terzopoulos writes:
>
> > No more mail being marked as spam. However I face a (hopefully) new
> > problem now. When I mass subscribe the users, they get an initial
> > invitation email. However after replying I get this in the exim
> > logs, the subsequent mails do not arrive and the users are not
> > verified at all:
> >
> > 2023-10-25 13:36:41 1qvbFh-001kcb-Ig <= myname(a)myproject.eu
> > H=localhost (webmail.myproject.eu) [127.0.0.1] P=esmtpa
> > A=dovecot_login: myname(a)myproject.eu S=1726
> > id=32091a0e12cc23fa988380639a4c44a6@ myproject.eu
> > 2023-10-25 13:36:41 1qvbFh-001kcb-Ig == partners(a)myproject.eu
> > <
> partners-confirm+6df62cd0f805b2b66b21a43a42ec8ee77487e8ad(a)myproject.eu>
> > R=mailman3_router T=mailman3_transport defer (-54):
> > retry time not reached for any host for ' myproject.eu'
>
> It looks like 'myname' has replied to the invitation, and was received
> by this MTA (is it Mailman's MTA?). Then delivery to Mailman was
> deferred because delivery to ' myproject.eu' has failed, and Exim is
> queueing them for future delivery, until the next retry time. Try
> using 'runq' then checking the log to see why mail is failing in the
> first place.
>
> I do not understand why there are spaces before the host name in these
> lines:
>
> > id=32091a0e12cc23fa988380639a4c44a6@ myproject.eu
> > retry time not reached for any host for ' myproject.eu'
>
> The first never happens in my Exim instance. (I have no instances of
> "retry time not reached" at all in my logs.) That suggests a
> misconfiguration, in Exim, in Mailman, or Postorius. You should check
> the mailman3_router and the mailman3_transport first because they're
> easier.
>
> Steve
>
>
2 years, 6 months
Re: About to Install MM3 -- Seeking clarification
by Stephen J. Turnbull
Onyeibo Oku writes:
> I am not sure I understand what you mean by apps. Is that Django apps
> (./manage.py startapp app)? Do you mean a Django Project instead
> (./manage.py startproject app)?
An app for my purpose is everything configured via the settings.py
used by the Django application created in a wsgi.py file. I guess you
would think of them as projects.
> What I have here is an active website project (live) done on Django
> framework. It runs from a different virtual environment (venv).
>
> hence:
> mailman --> /opt/mailman/venv
> website --> /srv/website/venv (has a running uwsgi instance)
The venvs isolate the Python code used by each app from the other.
But the apps can still have conflicts over ports (this is mentioned in
the Django docs), filesystem objects, and other resources. For
example, a lot of applications use the /static/ location as a place to
keep content that is supplied by your project and doesn't change.
This is problematic if two different apps each wants to install a
default.css, but they're different. One of the apps is going to look
funny.
Only the person who configures the apps can guess whether this kind of
conflict will arise. Neither Mailman nor Django itself tries to
protect you from such conflicts (I don't see how they could, in fact).
> > > In whichcase, it doesn't hurt to follow the doc to its logical
> > > conclusion?
> >
> > I don't understand what you mean by logical conclusion.
> >
>
> That is to follow the guide to the end of the page (disregarding
> the possibility of conflicts).
No, you can't disregard the possibility of conflicts. My
understanding from what you've posted so far is that you have an app
"website" that is already implemented and running. Most likely that
app has configured resources (specifically ports and website locations
in particular /static/) that are likely to conflict. You need to
manage those conflicts, most likely by changing the ports used by
Mailman, Postorius, and Hyperkitty and by mapping a different location
such as /mailman/static/ to the /var directory that actually contains
the static files managed by "manage.py collectstatic".
There may be other possible conflicts, but I can't help you with those
because they depend on your website code.
Steve
3 years, 6 months
Re: user mail not accepted
by Christian Stalberg
From smtp.log
Apr 26 00:17:39 2021 (807) ('127.0.0.1', 38370) Data: b'DATA'
Apr 26 00:17:39 2021 (807) ('127.0.0.1', 38370) Data: b'QUIT'
Apr 26 00:17:39 2021 (807) ('127.0.0.1', 38370) connection lost
Apr 26 00:17:39 2021 (807) Connection lost during _handle_client()
Apr 26 00:18:11 2021 (809)
<019301d73a31$8e8e54e0$abaafea0$(a)ncboliviapartners.org> smtp to
ncpoa(a)lists.ccalternatives.org for 83 recips, completed in 29.13376259803772
seconds
Apr 26 00:18:11 2021 (809)
<019301d73a31$8e8e54e0$abaafea0$(a)ncboliviapartners.org> post to
ncpoa(a)lists.ccalternatives.org from christian(a)ncboliviapartners.org, 5811
bytes
Apr 26 00:18:11 2021 (809)
<161939626169.810.9530678025639681522(a)zarathustra.ccalternatives.org> smtp
to ncpoa(a)lists.ccalternatives.org for 1 recips, completed in
0.0420069694519043 seconds
Apr 26 00:18:11 2021 (809)
<161939626169.810.9530678025639681522(a)zarathustra.ccalternatives.org> post
to ncpoa(a)lists.ccalternatives.org from
ncpoa-bounces(a)lists.ccalternatives.org, 869 bytes
Apr 26 11:52:22 2021 (819)
<161943793957.929.15640398646519288095(a)zarathustra.ccalternatives.org> smtp
to ssan(a)lists.ccalternatives.org for 1 recips, completed in
0.22335004806518555 seconds
Apr 26 11:52:22 2021 (819)
<161943793957.929.15640398646519288095(a)zarathustra.ccalternatives.org> post
to ssan(a)lists.ccalternatives.org from ssan-bounces(a)lists.ccalternatives.org,
765 bytes
Apr 26 11:52:22 2021 (819)
<161943793960.929.13309139087156940549(a)zarathustra.ccalternatives.org> smtp
to ssan(a)lists.ccalternatives.org for 2 recips, completed in
0.05862092971801758 seconds
Apr 26 11:52:22 2021 (819)
<161943793960.929.13309139087156940549(a)zarathustra.ccalternatives.org> post
to ssan(a)lists.ccalternatives.org from noreply(a)lists.ccalternatives.org, 810
bytes
Apr 26 11:55:22 2021 (819)
<161943812108.929.10391982256874011271(a)zarathustra.ccalternatives.org> smtp
to ssan(a)lists.ccalternatives.org for 1 recips, completed in
0.1459965705871582 seconds
Apr 26 11:55:22 2021 (819)
<161943812108.929.10391982256874011271(a)zarathustra.ccalternatives.org> post
to ssan(a)lists.ccalternatives.org from
ssan-confirm+2144530ad102026077911eac6eb574bcbd04be92(a)lists.ccalternatives.o
rg, 1526 bytes
Apr 26 12:01:30 2021 (817) Available AUTH mechanisms: LOGIN(builtin)
PLAIN(builtin)
Apr 26 12:01:30 2021 (817) Peer: ('127.0.0.1', 38556)
Apr 26 12:01:30 2021 (817) ('127.0.0.1', 38556) handling connection
Apr 26 12:01:30 2021 (817) ('127.0.0.1', 38556) Data: b'LHLO
zarathustra.ccalternatives.org'
Apr 26 12:01:30 2021 (817) ('127.0.0.1', 38556) Data: b'MAIL
FROM:<christian(a)sewagesludgeactionnetwork.com>'
Apr 26 12:01:30 2021 (817) ('127.0.0.1', 38556) sender:
christian(a)sewagesludgeactionnetwork.com
Apr 26 12:01:30 2021 (817) ('127.0.0.1', 38556) Data: b'RCPT
TO:<ssan-confirm+2144530ad102026077911eac6eb574bcbd04be92(a)lists.ccalternativ
es.org>'
Apr 26 12:01:30 2021 (817) ('127.0.0.1', 38556) recip:
ssan-confirm+2144530ad102026077911eac6eb574bcbd04be92(a)lists.ccalternatives.o
rg
Apr 26 12:01:30 2021 (817) ('127.0.0.1', 38556) Data: b'DATA'
Apr 26 12:01:30 2021 (817) ('127.0.0.1', 38556) Data: b'QUIT'
Apr 26 12:01:30 2021 (817) ('127.0.0.1', 38556) connection lost
Apr 26 12:01:30 2021 (817) Connection lost during _handle_client()
Apr 26 12:01:34 2021 (819)
<161943849287.814.5890052642238479423(a)zarathustra.ccalternatives.org> smtp
to ssan(a)lists.ccalternatives.org for 2 recips, completed in
0.06680631637573242 seconds
Apr 26 12:01:34 2021 (819)
<161943849287.814.5890052642238479423(a)zarathustra.ccalternatives.org> post
to ssan(a)lists.ccalternatives.org from noreply(a)lists.ccalternatives.org, 821
bytes
Apr 26 12:01:34 2021 (819)
<161943849292.814.6140111398379700592(a)zarathustra.ccalternatives.org> smtp
to ssan(a)lists.ccalternatives.org for 1 recips, completed in
0.04269862174987793 seconds
Apr 26 12:01:34 2021 (819)
<161943849292.814.6140111398379700592(a)zarathustra.ccalternatives.org> post
to ssan(a)lists.ccalternatives.org from ssan-request(a)lists.ccalternatives.org,
1335 bytes
Message sent that only the user receives:
Return-Path: <christian(a)sewagesludgeactionnetwork.com>
Delivered-To: ces(a)ecovillage.cc
Received: from box.ecovillage.cc ([127.0.0.1])
by box.ecovillage.cc with LMTP id MDucNBythmCTSwAAMoO61A
for <ces(a)ecovillage.cc>; Mon, 26 Apr 2021 05:07:56 -0700
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on box.ecovillage.cc
X-Spam-Level:
X-Spam-Status: No, score=-1.1 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HTML_MESSAGE autolearn=ham
autolearn_force=no
version=3.4.2
X-Spam-Report:
* -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP
* 0.0 HTML_MESSAGE BODY: HTML included in message
* -0.1 DKIM_VALID Message has at least one valid DKIM or DK
signature
* 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not
necessarily
* valid
* -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
* author's domain
X-Spam-Score: -1.1
Received: from authenticated-user (box.ecovillage.cc [45.79.28.18])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256
bits))
(No client certificate requested)
by box.ecovillage.cc (Postfix) with ESMTPSA id 6EADF3E8CC
for <ssan(a)lists.naturalintelligence.us>; Mon, 26 Apr 2021 05:07:54
-0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
d=sewagesludgeactionnetwork.com; s=mail; t=1619438876;
bh=1M7F/uIS0bNG6cWjecy/a9QjskrHVwJHkjWRv+ffpM4=;
h=From:To:References:In-Reply-To:Subject:Date:From;
b=jXOswVZgFeHBB+sjIDqVkNBQqIbfZCj9ZUfpVwl10NQEkGaoxckPHNOKT6x9zIqsW
BZ7iZqqi2mWprVQ8LrK48Lp7gvCQ/ipqspMeLt3t+uljzTtryHmV6uJFEAU3hqM33Y
nQqX6Z8la8Ko40F9Ayb4h4e/MOfPdA4nadgf5hZzt/DzPFZvzUbG3V8lWcHuyJNA2y
SQkhbNubQ6iNEEB0SyBjoOjl3g3LVxjxY+9kMGGmX+1PFfW90CpDDShRmKkkscEWaA
NiV0fX6U5LENBBnc6Q9ImLgXuaLdCqlBRBumJBk+eUUr007rpXXVAPck2NvUzGyM2v
kNNGlT68hGzEg==
From: <christian(a)sewagesludgeactionnetwork.com>
To: <ssan(a)lists.naturalintelligence.us>
References:
In-Reply-To:
Subject: How US chemical industry lobbying and cash defeated regulation in
Trump era
Date: Mon, 26 Apr 2021 05:07:37 -0700
Message-ID: <020501d73a94$cbe17440$63a45cc0$(a)sewagesludgeactionnetwork.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0206_01D73A5A.1F831170"
Thread-Index: Adc6h7I/qzBKx1yOT6aPOuipppacoQACatZAAADW1wA=
Content-Language: en-us
How US chemical industry lobbying and cash defeated regulation in Trump era
Industry's congressional allies defeated nearly all PFAS legislation while
the Trump EPA killed, watered down or slowalked new rules
https://www.theguardian.com/environment/2021/apr/26/us-chemical-companies-lo
bbying-donation-defeated-regulation
-----Original Message-----
From: Mark Sapiro <mark(a)msapiro.net>
Sent: Monday, April 26, 2021 2:05 PM
To: mailman-users(a)mailman3.org
Subject: [MM3-users] Re: user mail not accepted
On 4/26/21 5:16 AM, Christian Stalberg via Mailman-users wrote:
> I have a user whose moderation rule is 'Accept immediately' yet when
> they send a message for distribution to the list, they only receive it
> and it is not distributed via the list. Logfile entries below. Please
> advise. Btw I have another list on this same instance which is running
fine. Thank you.
>
> [26/Apr/2021:12:06:25 +0000] "GET
> /3.1/lists/ssan.lists.ccalternatives.org
> HTTP/1.1" 200 453 "-" "GNU Mailman REST client v3.3.2"
> [26/Apr/2021:12:06:25 +0000] "POST
> /3.1/members/find?list_id=ssan.lists.ccalternatives.org&subscriber=chr
> istian %40sewagesludgeactionnetwork.com HTTP/1.1" 200 1257 "-" "GNU
> Mailman REST client v3.3.2"
> [26/Apr/2021:12:06:25 +0000] "PATCH
> /3.1/members/7186cd45bde34d4fa7e7b5ab36b97272 HTTP/1.1" 204 0 "-" "GNU
> Mailman REST client v3.3.2"
> [26/Apr/2021:12:06:26 +0000] "GET
> /3.1/lists/ssan.lists.ccalternatives.org
> HTTP/1.1" 200 453 "-" "GNU Mailman REST client v3.3.2"
> [26/Apr/2021:12:06:26 +0000] "POST
> /3.1/members/find?list_id=ssan.lists.ccalternatives.org&subscriber=chr
> istian %40sewagesludgeactionnetwork.com HTTP/1.1" 200 1288 "-" "GNU
> Mailman REST client v3.3.2"
> [26/Apr/2021:12:06:26 +0000] "GET
> /3.1/lists/ssan(a)lists.ccalternatives.org/requests/count?token_owner=mo
> derato r HTTP/1.1" 200 73 "-" "GNU Mailman REST client v3.3.2"
> [26/Apr/2021:12:06:26 +0000] "GET
> /3.1/lists/ssan(a)lists.ccalternatives.org/held/count HTTP/1.1" 200 73 "-"
> "GNU Mailman REST client v3.3.2"
> [26/Apr/2021:12:06:26 +0000] "GET
> /3.1/members/7186cd45bde34d4fa7e7b5ab36b97272/preferences HTTP/1.1"
> 200 295 "-" "GNU Mailman REST client v3.3.2"
These entries don't tell anything about a post to the list. They are all
from Mailman's REST API relating to Postorius interactions with core.
However the absence of messages like
Apr 26 07:32:39 2021 (17860) ACCEPT: <message_id> and Apr 26 07:32:41 2021
(17857) HyperKitty archived message <message_id> to
https://example.com/archives/list/list_adderss/message/message_id_hash/
assuming you are looking at the correct time span, says there wasn't an
accepted list post.
Mailman's smtp.log may have more info, but the complete, raw message that
the user receives may be more helpful.
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
_______________________________________________
Mailman-users mailing list -- mailman-users(a)mailman3.org To unsubscribe send
an email to mailman-users-leave(a)mailman3.org
https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
5 years
Re: Restore/export existing Mailman lists + hyperkitty archives on a new server
by alexs@ecoscentric.com
Mark Sapiro wrote:
...
> I thing just dumping and loading the databases and copying mailman.cfg
> and the Django settings should do it. Are the domains the same on the
> new server? If not there may be issues with that. I'd need to see the
> exception and traceback to say more.
I am migrating from mailman 3.2.1 & mailman3-web 0+20180916-8 on Debian Buster to mailman 3.3.8 & mailman3-web 0+20200530-2.1 on Debian bookworm, have mailman3 and mailman3-web configured (and running on bookworm) from the initial install. But when I use the mailman3-web 0+20180916-8 database (after stopping mailman3 and mailman3-web) on bookworm, unfortunately migrate fails:
# mailman-web showmigrations
account
[X] 0001_initial
[X] 0002_email_max_length
admin
[X] 0001_initial
[X] 0002_logentry_remove_auto_add
[X] 0003_logentry_add_action_flag_choices
auth
[X] 0001_initial
[X] 0002_alter_permission_name_max_length
[X] 0003_alter_user_email_max_length
[X] 0004_alter_user_username_opts
[X] 0005_alter_user_last_login_null
[X] 0006_require_contenttypes_0002
[X] 0007_alter_validators_add_error_messages
[X] 0008_alter_user_username_max_length
[X] 0009_alter_user_last_name_max_length
[X] 0010_alter_group_name_max_length
[X] 0011_update_proxy_permissions
[X] 0012_alter_user_first_name_max_length
contenttypes
[X] 0001_initial
[X] 0002_remove_content_type_name
...
# mailman-web migrate --plan
Planned operations:
contenttypes.0001_initial
Create model ContentType
Alter unique_together for contenttype (1 constraint(s))
auth.0001_initial
Create model Permission
Create model Group
Create model User
account.0001_initial
Create model EmailAddress
Create model EmailConfirmation
account.0002_email_max_length
Alter field email on emailaddress
admin.0001_initial
Create model LogEntry
admin.0002_logentry_remove_auto_add
Alter field action_time on logentry
admin.0003_logentry_add_action_flag_choices
Alter field action_flag on logentry
contenttypes.0002_remove_content_type_name
Change Meta options on contenttype
Alter field name on contenttype
Raw Python operation
Remove field name from contenttype
...
But the migrate fails at the first operation:
# mailman-web migrate
Operations to perform:
Apply all migrations: account, admin, auth, contenttypes, django_mailman3, django_q, hyperkitty, postorius, sessions, sites, socialaccount
Running migrations:
Applying contenttypes.0001_initial...Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/django/db/backends/utils.py", line 82, in _execute
return self.cursor.execute(sql)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/django/db/backends/mysql/base.py", line 73, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 209, in execute
res = self._query(query)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 315, in _query
db.query(q)
File "/usr/lib/python3/dist-packages/MySQLdb/connections.py", line 239, in query
_mysql.connection.query(self, query)
MySQLdb._exceptions.OperationalError: (1050, "Table 'django_content_type' already exists")
...
Indeed the table django_content_type already exists on 0+20180916-8 . Apart from fields changes, there are an additional 4 tables in mailman3-web 0+20200530-2.1
I managed to import the mailman 3.2.1 database to the mailman 3.3.8 database, and all lists, subscriptions and settings looks fine.
So how can I upgrade my existing mailman3-web database?
2 years, 7 months
Re: Message Sent to A Re-Created List Results In Error
by matthew@alberti.us
Mojo,
Thanks for the link. I finally got it sorted out. I probably need to
write all this somewhere else. I have a combination of local, virtual,
alias, and Mailman3 mail transport/routing, all on one server. Virtual,
alias, and Mailman3 all use the same domain. Mailman also has an additional
domain. It seemed like no matter what I did, the virtual mail would not work
and mailman would, or the virtual mail would work but the domain that is
both virtual and mailman wouldn't work with mailman.
The problem was the (well documented) behavior when defining
"virtual_transport" (for dovecot lmtp) and "virtual_mailbox_domains" (for
virtual domains and Mailman domains). When "virtual_transport" is defined,
the "transport_maps" option is basically ignored, which causes Mailman to
not work (assuming Mailman is setup with virtual domains, not alias or
relay). When I took out "virtual_transport", then virtual mail via dovecot
stopped working.
To fix it, I ended up creating an additional mysql lookup for the
virtual mail (they use dovecot lmtp for delivery). I put this lookup in the
"transport_maps", and things seem to work. Now Postfix will check with both
the virtual mailbox database and Mailman's lmtp regex list, and know the
correct transport (dovecot-lmtp and mailman-core lmtp) respectively.
So after all that, I have to circle back around and see if there is
still an issue with using aliased or virtual addresses as a Mailman owner or
subscriber. I'm guessing probably not, since now the correct transport
method for each is now defined to Postfix.
Thanks for reading.
- Matt Alberti
-----Original Message-----
From: Morris Jones <mojo(a)whiteoaks.com>
Sent: Tuesday, December 15, 2020 1:04 AM
To: mailman-users(a)mailman3.org
Subject: [MM3-users] Re: Message Sent to A Re-Created List Results In Error
Matt, I think you're describing exactly the problem that's handled by
/virtual alias domains/ that were added to support this case.
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/mta.ht
ml#unusual-postfix-configuration
I did an integration between Mailman3 and Zimbra which uses Postfix, and
came across the same issue with domains managed by Postfix and Mailman
simultaneously.
I documented the case in my Zimbra - Mailman3 integration document here:
https://gitlab.com/MojoLA/mailman3.3-zimbra-8.8-integration/-/blob/master/ma
ilman-zimbra-integration.rst
See if that helps ...
Best regards,
Mojo
On 12/14/20 9:38 PM, matthew(a)alberti.us wrote:
> I checked all over the mailman core logs and couldn't find a
problem.
> But then I noticed that the 550 error was coming from dovecot-lmtp.
> I should rename this thread because the actual problem seems to be
> unrelated to re-created lists.
>
> It seems like the actual problem seems to occur in the following
> situation:
>
> * Using Postfix
> * Using Dovecot
> * /etc/postfix/virtual includes addresses with same domain as mailman
> lists.
> * An e-mail address subscribed to a mailman list is in the
> /etc/postfix/virtual file as an alias (possibly also if destination
> address for an alias).
> * (Possibly related) E-mail address is also one of the list owners.
>
> In that environment, Postfix seems to check only 'virtual_transport'
> list, which in my case is dovecot-lmtp, and when it doesn't find the
> mailman listname@domain entry in there, it sends a 550 user unknown.
> It seems to be that it isn't getting passed to 'transport_maps', which is
mailman-lmtp.
>
> When I remove that one address (that is in /etc/postfix/virtual)
from
> the list of subscribers, I'm able to post again. Interestingly enough,
> when I put it back in as a subscriber. I'm still able to post. So it
> seems unsubscribing and re-subscribing that address fixed it, or
> adding an additional list owner and deleting it fixed it, or some
> combination of those.
>
> I know this might be shaping up to be a very unlikely scenario. But
> basically the account is mine, an admin, doing testing before/after a
> deployment.. I'll try to create a few test procedures to document the
> method to reproduce the problem, and also hopefully fix it. If I can
> do that, I'll open another thread. This could also be a postfix config
> error of some kind, which is definitely possible if not likely.
>
> Thanks for reading.
>
> - Matt Alberti
>
>
>
> -----Original Message-----
> From: Abhilash Raj <maxking(a)asynchronous.in>
> Sent: Monday, December 14, 2020 11:42 PM
> To: matthew(a)alberti.us; Mailman users <mailman-users(a)mailman3.org>
> Subject: [MM3-users] Re: Message Sent to A Re-Created List Results In
> Error
>
>
>
> On Tue, Dec 15, 2020, at 10:00 AM, matthew(a)alberti.us
> <mailto:matthew@alberti.us> wrote:
>> I created a list in the Postorius interface, used it, and then
>> deleted it. A week or so later, I re-created the list, and things
>> were fine thru the creation and subscription process. But when I sent
>> a message to the list, a
>> "550 user unknown" error was sent back.
>
> Can you share more error details from the Mailman logs? If 550 error
> response was sent, there must be some internal error traceback in the
logs.
>
>>
>>
>> I tried to determine if this is a known issue by searching the issues
>> in Gitlab; but didn't find anything. But wanted to ask if this was a
>> known issue or not?
>
> I personally don't remember seeing such an issue, but Mark or others
> might know.
>
>>
>>
>>
>> Thanks.
>>
>>
>>
>> - Matt Alberti
>>
>> _______________________________________________
>> Mailman-users mailing list -- mailman-users(a)mailman3.org
> <mailto:mailman-users@mailman3.org> To
>> unsubscribe send an email to mailman-users-leave(a)mailman3.org
> <mailto:mailman-users-leave@mailman3.org>
>> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>>
>
> --
> thanks,
> Abhilash Raj (maxking)
> _______________________________________________
> Mailman-users mailing list -- mailman-users(a)mailman3.org
> <mailto:mailman-users@mailman3.org> To unsubscribe send an email to
> mailman-users-leave(a)mailman3.org
> <mailto:mailman-users-leave@mailman3.org>
> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
> _______________________________________________
> Mailman-users mailing list -- mailman-users(a)mailman3.org To
> unsubscribe send an email to mailman-users-leave(a)mailman3.org
> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>
--
Morris Jones, Monrovia, CA
BridgeMojo <http://bridgemojo.com>
Old Town Sidewalk Astronomers <http://otastro.org> Mojo's Blog
<http://mojo.whiteoaks.com> _______________________________________________
Mailman-users mailing list -- mailman-users(a)mailman3.org To unsubscribe send
an email to mailman-users-leave(a)mailman3.org
https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
5 years, 4 months
Re: Question to add "alias" address in list by group
by Pierre Malard
Thanks,
> Le 28 avr. 2022 à 15:17, Stephen J. Turnbull <stephenjturnbull(a)gmail.com> a écrit :
>
> Pierre Malard via Mailman-users writes:
>
>> We must add some (a lot) alias address for members and I don’t find
>> any indications on doc to do that with « mailman » command.
>
> I have no idea what you mean by an "alias address" that can be added
> for many members simultaneously. There is no concept of "alias" in
> Mailman, and almost certainly no special command for this.
These are authorized alternate email addresses. For example A@domain is subscribed to the Z list of which only members can contribute but we also want to authorize some other address of A (A@domain2, …) as an « alternative" email contributor.
In the Mailman2 version this was called "accept_these_nonmembers" and it actually got added to that "non-members" list in mailman3.
>
> The general way to add a lot of addresses for a single list is the
> mass add command in Postorius's users tab, or an equivalent script
> using mailmanclient. If you need to do this at the user level (rather
> than the subscription level), you will need to write a script for it,
> and also to update subscriptions if that is what you have in mind.
We would like to be able to add these "non-members" addresses with the "mailman" command line, indicating the assigned "role". But, obviously, the only available option managing the role is provided by "mailman members" which declares itself obsolete! :-(
As far as the Python mailman libraries are concerned, we lack documentation. For example the possible parameters… Otherwise, working directly in the database seems dangerous to us.
>
> Steve
>
--
Pierre Malard
« Je n'ai jamais séparé la République des idées de justice sociale,
sans laquelle elle n'est qu'un mot »
Jean Jaures - 1887
|\ _,,,---,,_
/,`.-'`' -. ;-;;,_
|,4- ) )-,_. ,\ ( `'-'
'---''(_/--' `-'\_) πr
perl -e '$_=q#: 3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. ;-;;,_: |,A- ) )-,_. ,\ ( `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' `-'"'"'\_): 24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--
___________________________________________
Mailman's content filtering has removed the
following MIME parts from this message.
Replaced multipart/alternative part with first alternative.
4 years