Search results for query "sapiro"
- 5934 messages
[MM3-users] Re: I have issue where it does not send emails on to people in the list I create.
by Mark Sapiro
On 4/30/20 8:30 AM, john_warland(a)hotmail.com wrote:
> Hello,
>
> I am quite new to Mailman3 and have been trying to get a working local test setup on a single VM (Centos07)
>
> I have issue where if I send an email to the list. it does not send emails on to the people subscribed to that list.
>
> Note the steps below were put together from memory after a few days of repeatably trying different things so there will be some inaccuracies
>
>
> I have mailman running on same local box as postfix, postorius and hyperkitty.
>
> I have root as the superuser in Postorius and have tried the following:
>
> In unix shell created new user 'developer'
> In unix shell created new user 'tester'
>
> In shell send an email from developer user to tester:
> echo 'Hello' | mailx -s 'Hello Subject line' tester(a)sandbox.mytest.com
>
> Confirmed user tester received email in cat /home/tester/Maildir/new/ folder:
>
> Return-Path: <developer(a)cloud7.sandbox.mytest.com>
> X-Original-To: tester(a)cloud7.sandbox.mytest.com
> Delivered-To: tester(a)cloud7.sandbox.mytest.com
> Received: by cloud7.sandbox.mytest.com (Postfix, from userid 1000)
>
> In Postorius web frontend:
>
> Signed up as root
> Received confirmation email in /root/Maildir/new/ folder so cut and pasted the Url in the email to activate account.
> Created new list called testlist(a)sandbox.mytest.com
> Logged out
>
> Signed up as tester
> Received confirmation email in /home/tester/Maildir/new/ folder so cut and pasted the Url to activate account.
> Subscribed tester to the testlist.
>
> Next in unix shell su as developer and send an email to testlist(a)sandbox.mytest.com
>
> The root user gets the following email
>
> Content-Transfer-Encoding: 7bit
> Subject: Your message to testlist(a)cloud7.sandbox.mytest.com awaits moderator approval
> From: testlist-bounces(a)cloud7.sandbox.mytest.com
> To: developer(a)cloud7.sandbox.mytest.com
> Message-ID: <158824480291.3035.17408340520496115243(a)localhost.localdomain>
> Date: Thu, 30 Apr 2020 11:06:42 +0000
> Precedence: bulk
> X-Mailman-Version: 3.3.0
>
> Your mail to 'testlist(a)cloud7.sandbox.mytest.com' with the subject
>
> hello there 2
>
> Is being held until the list moderator can review it for approval.
>
> The message is being held because:
>
> The message is not from a list member
>
> Either the message will get posted to the list, or you will receive notification of the moderator's decision.
>
> Once I have gone back into Postorius as root and approved the message, root user gets a second email:
>
> Return-Path: <testlist-bounces(a)cloud7.sandbox.mytest.com>
> X-Original-To: root(a)cloud7.sandbox.mytest.com
> Delivered-To: root(a)cloud7.sandbox.mytest.com
> Received: from localhost.localdomain (localhost [IPv6:::1])
> by cloud7.sandbox.mytest.com (Postfix) with ESMTP id E056A84CE4
> for <root(a)cloud7.sandbox.mytest.com>; Thu, 30 Apr 2020 11:09:10 +0000 (UTC)
> Received: by cloud7.sandbox.mytest.com (Postfix, from userid 1000)
> id 8F1B684CE4; Thu, 30 Apr 2020 11:06:41 +0000 (UTC)
> Date: Thu, 30 Apr 2020 11:06:41 +0000
> To: testlist(a)cloud7.sandbox.mytest.com
> User-Agent: Heirloom mailx 12.5 7/5/10
> MIME-Version: 1.0
> Message-Id: <20200430110641.8F1B684CE4(a)sandbox.mytest.com>
> From: developer(a)cloud7.sandbox.mytest.com
> X-MailFrom: developer(a)cloud7.sandbox.mytest.com
> X-Mailman-Rule-Hits: nonmember-moderation
> X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation
> Message-ID-Hash: FAPTJKJRZG2ELSOSBRBIDOBWXP3Y5QAY
> X-Message-ID-Hash: FAPTJKJRZG2ELSOSBRBIDOBWXP3Y5QAY
> X-Mailman-Approved-At: Thu, 30 Apr 2020 11:09:10 +0000
> X-Mailman-Version: 3.3.0
> Precedence: list
>
> Subject: [Testlist] hello there 2
>
> List-Id: A test list <testlist.sandbox.mytest.com>
> List-Help: <mailto:testlist-request@sandbox.mytest.com?subject=help>
> List-Post: <mailto:testlist@sandbox.mytest.com>
> List-Subscribe: <mailto:testlist-join@sandbox.mytest.com>
> List-Unsubscribe: <mailto:testlist-leave@sandbox.mytest.com>
> Content-Type: text/plain; charset="us-ascii"
> Content-Transfer-Encoding: 7bit
>
> A test email 2
> _______________________________________________
> Testlist mailing list -- testlist(a)sandbox.mytest.com
> To unsubscribe send an email to testlist-leave(a)sandbox.mytest.com
>
>
> At no point does the email appear in the tester(a)sandbox.mytest.com Maildir
Why does root get the list post? Is root also a member of the list.
What's in logs? Mailman's logs and the MTA logs
>
> Configs as follows..
tl;dr and mostly irrelevant.
What do the following shell commands show
mailman members testlist.sandbox.mytest.com
mailman members -r testlist.sandbox.mytest.com
mailman members -n any testlist.sandbox.mytest.com
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
5 years, 6 months
[MM3-users] Re: unrequested unsubscription
by Mike Wertheim
Thanks.
Here are the log lines that correspond to the emails to the "-leave"
address in /var/log/mailman3/smtp.log...
Jun 14 10:10:29 2023 (199628) Available AUTH mechanisms: LOGIN(builtin)
PLAIN(builtin)
Jun 14 10:10:29 2023 (199628) Peer: ('127.0.0.1', 35610)
Jun 14 10:10:29 2023 (199628) ('127.0.0.1', 35610) handling connection
Jun 14 10:10:29 2023 (199628) ('127.0.0.1', 35610) Data: b'LHLO mydomain.com
'
Jun 14 10:10:29 2023 (199628) ('127.0.0.1', 35610) Data: b'MAIL FROM:<
someone-i-know(a)gmail.com>'
Jun 14 10:10:29 2023 (199628) ('127.0.0.1', 35610) sender:
someone-i-know(a)gmail.com
Jun 14 10:10:29 2023 (199628) ('127.0.0.1', 35610) Data: b'RCPT TO:<
mylist-leave(a)mydomain.com>'
Jun 14 10:10:29 2023 (199628) ('127.0.0.1', 35610) recip:
mylist-leave(a)mydomain.com
Jun 14 10:10:29 2023 (199628) ('127.0.0.1', 35610) Data: b'DATA'
Jun 14 10:10:29 2023 (199628) ('127.0.0.1', 35610) Data: b'QUIT'
Jun 14 10:10:29 2023 (199628) ('127.0.0.1', 35610) connection lost
The IP address is 127.0.0.1. Would that imply that the messages were really
sent from the localhost, or could that mean that the real sender IP address
just wasn't captured for some reason?
On Wed, Jun 14, 2023 at 8:29 PM Mark Sapiro <mark(a)msapiro.net> wrote:
> On 6/14/23 19:40, Mike Wertheim wrote:
> > I have a Mailman 3 email list, running on Mailman 3.3.3 on Debian 11.
> >
> > A few of the list members are reporting that they received Email Address
> > Unsubscription Confirmation emails, but claim that they never requested
> to
> > be unsubscribed. (All are Gmail users. but they might be coincidental,
> > since most list members are Gmail users.)
> >
> > Has anyone seen this behavior before? Any ideas on what might be
> happening?
>
>
> Yes. This is someone sending an email `leave` or `unsubscribe` command
> for the user in question. This may be malicious, i.e. someone doesn't
> like a user's posts and tries to unsubscribe them, or it may be just
> spam of some sort.
>
> the user should just ignore the email. Beyond that, there's not much you
> can do unless you can identify from mail logs the source of the requests.
>
> --
> 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/
> Archived at:
> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…
>
> This message sent to mike.wertheim(a)gmail.com
>
2 years, 4 months
[MM3-users] Re: Splitting hosts: mta&core vs postorius
by Mark Sapiro
On 6/22/20 12:23 PM, Ruth Ivimey-Cook wrote:
>
>> I agree with this, we need a setting for which interface for Gunicorn
>> to listen on, and what Mailman Core sends out in the self_link
>> attribute when responding to REST requests.
>>
> Exactly! :-)
Except if there were a `bind_host` setting to specify the host to bind
the REST API to and you set that to `0.0.0.0` you would have exactly
what leads to the situation below, so we need to understand what's
happening there (although I think I do - see below).
On 6/22/20 12:21 PM, Ruth Ivimey-Cook wrote:
>
> I did try with the gunicorn patch Mark mentioned (host = "0.0.0.0") and
> changing the cfg file hostname back to the full name of the host, and
> that now works!! -- in that the problem I showed earlier is gone.
>
>
> However I then get another issue. From the mailman.log file I now see in
> the last few lines. For clarity I've numbered them like this "{1}":
>
> {1} [22/Jun/2020:00:58:24 +0000] "GET /3.1/domains HTTP/1.1" 200 320 "-"
> "GNU Mailman REST client v3.3.1"
> {2} [22/Jun/2020:00:58:24 +0000] "GET /3.1/domains/ch-bc.org.uk
> HTTP/1.1" 200 215 "-" "GNU Mailman REST client v3.3.1"
> {3} [22/Jun/2020:00:58:24 +0000] "GET
> /3.1/domains/greyarea-web1.cam.ivimey.org/lists?advertised=true&count=0&page=1
> HTTP/1.1" 404 26 "-" "GNU Mailman REST client v3.3.1"
>
> At this point the browser screen reports "Something went wrong" and the
> message "HTTP Error 404: {"title": "404 Not Found"}"
Tracebacks would really help. You should be able to find them in the log
configured as LOGGING['handlers']['file']['filename'] in your Django
settings.
> Previously, the process stopped at line {1}. Now that and line {2} is
> executed (AFAIK) correctly, but then line {3} is isssued. I have no idea
> why something is looking for "domains/greyarea-web1":
>
> - Only the "ch-bc.org.uk" domain is listed in the reply to line {1}, as
> expected;
Go to your Django admin web UI and look at your Django Mailman 3 Mail
domains. This will be at a URL like
https://greyarea-web1.cam.ivimey.org/admin/django_mailman3/maildomain/
Do you see this domain there? If so, delete it.
> - "greyarea-web1" doesn't appear in any lists I can show with the
> "mailman" cli command (and I think I tried them all);
But that's looking at Mailman core which is not where Postorius is
getting this list.
> - "greyarea-web1" doesn't appear anywhere in the source or config other
> than as the name of the host its running on or as an ALLOWED_HOST;
>
> - I tried using "curl -X DELETE" (from the api docs) to delete a domain
> called that and it says no such list exists.
Again, you're talking to core, not Django.
> My only possible clue is that I think, at some point in the journey of
> configuring mailman, I might have created a list called that on the
> host. However since then I have wiped the install files and reinstalled.
> I cannot make sense of this being the answer given the checks just listed.
Did you wipe the database on greyarea-web1?
> I went looking through the python source and can see that the get()
> function does indeed throw a 404 exception if the domain isn't found,
> but I cannot see which code is parsing the reply from the first line
>
> So I have two questions:
>
> 1) How can I fix this problem?
See above.
> 2) why does getting an 404 reply here cause the postorius web page to
> produce a "something went wrong" /404 and nothing else, when it could
> have simply reported that something had gone wrong with one specific
> domain;
Because the code isn't robust enough :(
...
> Ideally, and this is icing on the cake, a listen address specification
> should allow multiple IPs to be passed in, in which case the server
> listens on all of them. I expect the python libraries already support this.
We could implement a bind_address setting that would pass to gunicorns
--bind parameter anything acceptable to gunicorn, although multiple
values are tricky as they apparently require multiple -b/--bind options
and a single -b/--bind doesn't support a list of values.
But, I'm not convinced that this is something anyone needs. I'm still
waiting for a response to
<https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…>.
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
5 years, 4 months
[MM3-users] Re: Handling of SPAM mails in mailman3 - Check for X-Spam Header
by Torge Riedel
Am 18.01.20 um 19:38 schrieb Mark Sapiro:
> On 1/18/20 6:58 AM, Torge Riedel wrote:
>> Am 16.01.20 um 21:43 schrieb Mark Sapiro:
>>> This won't work for posts from members because the header checks are
>>> done between member moderation checks and non-member moderation checks,
>>> but if you create a Header Filter for header 'x-spam' and pattern 'yes'
>>> with action hold, a message from a non-member which has an X-Spam: Yes
>>> header should be held for that reason.
>>>
>>>
>> Hi Mark,
>>
>> thank you for your answer. Just to understand that right: In case a
>> posting with an "X-Spam: Yes" header comes from a member, it will not be
>> held? It will be directly forwarded to the list?
> No. I apologize for being unclear.
>
> A post from a member will first be handled according to that member's
> moderation action which may be the list's default action for posts from
> members or a specific action for that member.
>
> If that moderation action is reject, discard or hold, the post will be
> rejected, discarded or held as a moderated member post regardless of any
> header filters.
>
> If the action is accept, the post will be accepted without any further
> checks including the header checks.
>
> If the action is defer (default processing) the message will be held for
> matching the X-Spam: Yes header.
>
> What I meant was if the member's (or default) action was hold, the post
> would be held, but the reason would be moderated member, not header match.
>
> The bottom line here is the moderation action of accept should only be
> used in cases of a highly trusted member (such as a list owner) because
> it bypasses other checks, but the address is still subject to spoofing.
> In the normal case where a moderation hold is not desired, use the defer
> (default processing) action.
>
Hi Mark,
thanks for clarification. I will add a header filter.
One final question: When adding a new header filter I can select between different actions. And there is one named "Default Anti-Spam action" (roughly translated from German). I cannot find anything else about this somewhere else in the settings (Postorius). So what it is the "Default Anti-Spam action"?
Best regards
Torge
5 years, 9 months
[MM3-users] Re: How to delete non-users
by Mark Sapiro
On 9/16/22 16:40, Allan Hansen wrote:
> Hi Mark,
>
> Thank you for looking into it.
>
> We are very strict about memberships, which we are because of spam, bots and malicious contributors and because we don't want anyone to think that our lists are used for spam:
>
> When a user applies, the server sends a message to the moderator.
> The moderator communicates with the potential member and accepts or does not accept the application.
So Subscription policy is Moderate or Confirm, then moderate.
> At this point, if the user has not been accepted, but tried to send a message to the list, a non-member membership is created.
Yes. This is expected.
> When he/she logs in to list his/her account, the list to which he/she holds non-memberships will be listed and the user will think that he/she has been properly subscribed (why else are the lists listed).
I'm guessing you are talking about the
https://www.example.com/mailman3/accounts/subscriptions/ page. On that
page, all membership roles (owner, moderator, member, nonmember) are listed.
Note that if the user goes instead to info page for the list,
appropriate pronoun will be presented with a subscribe form.
> Noone notices the column that shows the role as 'nonmember.' So he/she thinks that the subscription request has been accepted, but nothing is working. That's why the 'non-member' record is an issue. I also don't see why non-members are automatically added, filling up the database with junk (at least from our point of view, with all respect).
That's the way Mailman 3 is designed. Changing it would be a major
undertaking.
Consider the case where default nonmember action is hold rather than
discard. Then when handling a nonmember post, the moderator can set the
nonmember's moderation to default processing to essentially accept
future posts from that nonmember if the nonmember has a legitimate
reason to post, or to discard if the nonmember is a spammer.
If you think it would help, you might consider colorizing the roles on
that page so perhaps nonmember could be in red. This should be a simple
patch to Postorius.
> But our lists don't accept messages from non-members. Such messages are quietly discarded, as most are spam, as mentioned above.
> So now the user is neither getting emails from the lists nor is unable to send messages to the list.
> The next step for the user is to complain to me. ☹
Why didn't you (or the moderator) accept the held subscription at the
beginning?
> I have looked for a template that could be used to warn someone when he/she is added as a non-member, but did not find one. It's also not clear that I'd want one, as most of these non-subscriptions are by spammers and I prefer not to reply to spammers. __
>
> I tried your suggestion below, Mark.
> Here's my transcript:
>
> **********
> 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.
>
>>>> lm = getUtility(IListManager)
>>>> for l in lm:
> ... for nm in l.nonmembers.members:
> ... nm.unsubscribe()
> ...
>>>>
> **********
> I did this twice, once with commit() and once typing ctrl/d (ctrl/D) just gave me a beep.
> Calling commit() did not return to the ... as in your example, but showed the >>> prompt, so I tried ctrl/D (beep) and then ctrl/d (exit).
My example did not show a `...` in response to commit(). Commit() was
followed by three backticks which is markup for the end if the literal
text. The >>> following commit() is expected.
Either calling commit() explicitly or exiting with ctrl-D should commit
the changes.
> I then went to the Postorius page for one of the lists and found that all the non-members were still present.
I don't know why this would be. I tested that script and it worked for me.
My original point is the presence of a nonmember role should not prevent
the user from subscribing. If there is an issue with subscribing it is
probably because of the outstanding subscription request waiting
moderator approval.
I understand that you would like the nonmember role to disappear, but
that isn't going to happen in the distribution, and I can't undertake
the extensive effort required to figure out how you can do it for your site.
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
3 years, 1 month
[MM3-users] Re: Intermittent: pymysql.err.InternalError: Packet sequence number wrong - got 102 expected 77
by Mark Sapiro
For anyone who's interested, here's a reformatted version of the traceback.
```
> Full log follows:
> [2021-05-23 07:31:45 +0200] [8244] [ERROR] Error handling request /3.1/lists?advertised=true&count=10&page=1
> Traceback (most recent call last):
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1284, in _execute_context
> cursor, statement, parameters, context
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 590, in do_execute
> cursor.execute(statement, parameters)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/cursors.py", line 170, in execute
> result = self._query(query)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/cursors.py", line 328, in _query
> conn.query(q)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 517, in query
> self._affected_rows = self._read_query_result(unbuffered=unbuffered)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 732, in _read_query_result
> result.read()
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 1082, in read
> self._read_result_packet(first_packet)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 1151, in _read_result_packet
> self._get_descriptions()
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 1222, in _get_descriptions
> field = self.connection._read_packet(FieldDescriptorPacket)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 671, in _read_packet
> % (packet_number, self._next_seq_id))
> pymysql.err.InternalError: Packet sequence number wrong - got 102 expected 77
>
> The above exception was the direct cause of the following exception:
>
> Traceback (most recent call last):
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/mailman/database/transaction.py", line 50, in wrapper
> rtn = function(*args, **kws)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/mailman/rest/wsgiapp.py", line 193, in __call__
> return super().__call__(environ, start_response)
> File "falcon/api.py", line 274, in falcon.api.API.__call__
> File "falcon/api.py", line 269, in falcon.api.API.__call__
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/mailman/rest/lists.py", line 322, in on_get
> resource = self._make_collection(request)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/mailman/rest/helpers.py", line 172, in _make_collection
> request, self._get_collection(request))
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/mailman/rest/helpers.py", line 167, in _paginate
> return list_start, total_size, collection[list_start:list_end]
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/mailman/utilities/queries.py", line 42, in __getitem__
> return self._query[index]
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3149, in __getitem__
> return list(res)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3481, in __iter__
> return self._execute_and_instances(context)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3506, in _execute_and_instances
> result = conn.execute(querycontext.statement, self._params)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1020, in execute
> return meth(self, multiparams, params)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
> return connection._execute_clauseelement(self, multiparams, params)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_clauseelement
> distilled_params,
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1324, in _execute_context
> e, statement, parameters, cursor, context
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1518, in _handle_dbapi_exception
> sqlalchemy_exception, with_traceback=exc_info[2], from_=e
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 178, in raise_
> raise exception
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1284, in _execute_context
> cursor, statement, parameters, context
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 590, in do_execute
> cursor.execute(statement, parameters)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/cursors.py", line 170, in execute
> result = self._query(query)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/cursors.py", line 328, in _query
> conn.query(q)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 517, in query
> self._affected_rows = self._read_query_result(unbuffered=unbuffered)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 732, in _read_query_result
> result.read()
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 1082, in read
> self._read_result_packet(first_packet)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 1151, in _read_result_packet
> self._get_descriptions()
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 1222, in _get_descriptions
> field = self.connection._read_packet(FieldDescriptorPacket)
> File "/opt/mailman/core/venv/lib/python3.6/site-packages/pymysql/connections.py", line 671, in _read_packet
> % (packet_number, self._next_seq_id))
> sqlalchemy.exc.InternalError: (pymysql.err.InternalError) Packet sequence number wrong - got 102 expected 77 [SQL: SELECT mailinglist.list_id AS mailinglist_list_id, mailinglist.preferred_language AS mailinglist_preferred_language, mailingli$ FROM mailinglist WHERE mailinglist.advertised = true ORDER BY mailinglist.list_id LIMIT %(param_1)s] [parameters: {'param_1': 10}]
> (Background on this error at: http://sqlalche.me/e/2j85)
```
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
4 years, 5 months
[MM3-users] Re: Recipient address rejected: User unknown in local recipient table
by Mohsen Masoudfar
Thanks you so much Mark, I appreciate your help!
Yes, I did:
[mta]
incoming: mailman.mta.postfix.LMTP
outgoing: mailman.mta.deliver.deliver
lmtp_host: newlistserv.aaas.org
lmtp_port: 8024
smtp_host: newlistserv.aaas.org
smtp_port: 25
configuration: python:mailman.config.postfix
# postconf recipient_delimiter
recipient_delimiter = +
# postconf owner_request_special
owner_request_special = no
in main.cf:
local_recipient_maps = hash:/opt/mailman/var/data/postfix_lmtp
transport_maps = hash:/opt/mailman/var/data/postfix_lmtp
virtual_alias_maps = hash:/opt/mailman/var/data/postfix_vmap
Bur for some reason the postfix_lmtp.db is older than postfix_lmtp, which means it does not get updated automated, I guess.
I restarted the whole stack and added a new list. In postfix logs I see:
Apr 17 18:20:28 mailmandev01 postfix/smtpd[31399]: error: open database /opt/mailman/var/data/postfix_domains.db: No such file or directory
Apr 17 18:20:28 mailmandev01 postfix/smtpd[31399]: error: open database /opt/mailman/var/data/postfix_vmap.db: No such file or directory
I touched the /opt/mailman/var/data/postfix_vmap, but it did not help neither.
In addition, I found out this :
On my old mailman2 I have a setting in postfix main.cf:
alias_maps = dbm:/usr/local/mailman/data/aliases
the file /usr/local/mailman/data/aliases says in its first line:
# This file is generated by Mailman, and is kept in sync with the
# binary hash file aliases.db. YOU SHOULD NOT MANUALLY EDIT THIS FILE
This makes a lot of sense to me.
The point is I am missing any similar settings on postfix on mailman3. Maybe local_recipient_maps do that, but as I mentioned the DB file is older than the text file.
The result is that the list (which is actually a postfix user) is unknown to postfix completely. Now what is missing here?
It appears that postorius can talk to postfix to send welcome messages out, but Postfix is not aware about the User that Postorius has created and exists in SQLite DB. So rejects any email addressed to that one.
Thanks
Mohsen
-----Original Message-----
From: Mark Sapiro <mark(a)msapiro.net>
Sent: Wednesday, April 15, 2020 10:09 PM
To: mailman-users(a)mailman3.org
Subject: [MM3-users] Re: Recipient address rejected: User unknown in local recipient table
[EXTERNAL EMAIL]
On 4/15/20 3:47 PM, Mohsen Masoudfar wrote:
> I am new to mailman3, my understanding was, maybe wrong, that when I create a list, mailman3 adds that to the local list of users. I think , I am missing something . . .
> Or probably this is related to a postfix setting?
Have you configured Mailman core and Postfix per <https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmailman.r…>?
--
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://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.mai…
5 years, 6 months
[MM3-users] Re: "held for moderation" - alias domain details sought
by Greg Newby
Thanks for this. After adding to "acceptable aliases," I also needed to add
an entry in /etc/aliases, and then the moderation didn't happen. That's
great!
If I use an alias domain, will that replace the need for entries in
/etc/aliases? I'm hesitant to explore since this is my production mail
server.
~ Greg
On Fri, Nov 1, 2024 at 1:51 PM Mark Sapiro <mark(a)msapiro.net> wrote:
> On 11/1/24 11:14, Jeremy Stanley wrote:
> > On 2024-11-01 11:04:07 -0700 (-0700), Greg Newby via Mailman-users wrote:
> >> Hi friends. I've viewed this old thread:
> >>
> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/…
> >> and documentation here:
> >>
> https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/mta.h…
> >> (and the Postfix docs it links to). Those documents don't seem to guide
> my
> >> situation, or maybe I just need a more specific example.
>
>
> The alias domain discussed at
>
> https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/mta.h…
> has nothing to do with what you are doing.
>
>
> >> The problem is that when messages are delivered to the alias domain,
> they
> >> are held for moderation. I.e., mail to the alias domain like
> >> testlist(a)domain.tld is held for moderation, but mail from the same
> >> subscribed, non-moderated user to testlist(a)lists.domain.tld is posted
> >> immediately without moderation.
> > [...]
> >
> > I manage a similar setup (though with Exim instead of Postfix), and
> > when migrating from Mailman v2 to v3 kept the same basic settings
> > which seemed to work: notably, under Message Acceptance I set the
> > alias addresses for the list in the Acceptable aliases field. If
> > memory serves, not doing that caused messages addressed to those
> > aliases to be unconditionally held for moderation.
>
>
> This is the correct solution. Just add `testlist(a)domain.tld` to the
> acceptable aliases setting of the `testlist(a)lists.domain.tld` list.
>
> --
> 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/
> Archived at:
> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…
>
> This message sent to gbnewby(a)petascale.org
>
11 months, 3 weeks
[MM3-users] Re: Upgrade
by Darren Smith
By the way, in reading the URL in the error, I attempted to set the LANG
and LC_ALL to en_US.utf8 (as was found in the error) but it still does not
work.
On Mon, Apr 16, 2018 at 11:26 AM, Darren Smith <silas.crutherton(a)gmail.com>
wrote:
> Nice...spoke too soon.
>
> Mailman info works, but when attempting to start mailman I'm now getting
> this:
>
> Traceback (most recent call last):
> File "/opt/mailman3/conda/bin/mailman", line 11, in <module>
> sys.exit(main())
> File "/opt/mailman3/conda/lib/python3.6/site-packages/click/core.py",
> line 722, in __call__
> return self.main(*args, **kwargs)
> File "/opt/mailman3/conda/lib/python3.6/site-packages/click/core.py",
> line 676, in main
> _verify_python3_env()
> File "/opt/mailman3/conda/lib/python3.6/site-packages/click/_unicodefun.py",
> line 118, in _verify_python3_env
> 'for mitigation steps.' + extra)
> RuntimeError: Click will abort further execution because Python 3 was
> configured to use ASCII as encoding for the environment. Consult
> http://click.pocoo.org/python3/for mitigation steps.
>
> This system lists a couple of UTF-8 supporting locales that
> you can pick from. The following suitable locales where
> discovered: aa_DJ.utf8, aa_ER.utf8, aa_ET.utf8, (followed by a bijillion
> others)
>
> -Darren
>
> On Mon, Apr 16, 2018 at 11:25 AM, Darren Smith <silas.crutherton(a)gmail.com
> > wrote:
>
>> Boy howdy did that work...
>>
>> Thanks!
>>
>>
>> On Mon, Apr 16, 2018 at 11:22 AM, Mark Sapiro <mark(a)msapiro.net> wrote:
>>
>>> On 04/16/2018 10:12 AM, Darren Smith wrote:
>>>
>>> > "/opt/mailman3/conda/lib/python3.6/site-packages/sqlalchemy/
>>> engine/strategies.py",
>>> > line 160, in create
>>> > engineclass.__name__))
>>> > TypeError: Invalid argument(s) 'pool_pre_ping' sent to create_engine(),
>>> > using configuration PGDialect_psycopg2/QueuePool/Engine. Please
>>> check that
>>> > the keyword arguments are appropriate for this combination of
>>> components."
>>> >
>>> > Anyone able to point me where to go to look for a solution for this?
>>>
>>>
>>> You need to update SQLAlchemy to >= 1.2 for this, but there is another
>>> issue that requires at least 1.2.3 (current is 1.2.6)
>>>
>>>
>>> --
>>> 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
>>> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>>>
>>
>>
>
7 years, 6 months
[MM3-users] Re: using SSH/TLS with external MTA
by Roland Giesler
On 2024/07/28 17:06, Mark Sapiro wrote:
> On 7/28/24 06:26, Roland Giesler via Mailman-users wrote:
>> On 2024/07/28 00:39, Mark Sapiro wrote:
>> A mail was sent to root on the localhost with the following content:
>>
>> Return-Path: <root(a)giesler.za.net>
>> X-Original-To: root@localhost
>> Delivered-To: root@localhost
>> Received: from mailman.fast.za.net (localhost [IPv6:::1])
>> by mailman.localdomain (Postfix) with ESMTP id 2174A120A5B
>> for <root@localhost>; Sun, 28 Jul 2024 13:11:03 +0000 (UTC)
>> Content-Type: text/plain; charset="utf-8"
>> MIME-Version: 1.0
>> Content-Transfer-Encoding: quoted-printable
>> Subject: [Django] ERROR (EXTERNAL IP): Internal Server Error:
>> /accounts/login/
>> From: root(a)giesler.za.net
>> To: root@localhost
>> Date: Sun, 28 Jul 2024 13:11:03 -0000
>> Message-ID: <172217226313.2150.10895652368679013629(a)mailman.fast.za.net>
>>
>> Internal Server Error: /accounts/login/
>>
>> SMTPRecipientsRefused at /accounts/login/
>> {'roland(a)giesler.za.net': (454, b'4.7.1 <roland(a)giesler.za.net>:
>> Relay acce=
>> ss denied')}
>
> This is mail from django-allauth, not from Mailman. Your settings in
> mailman.cfg do not affect how this mail is sent. See
> https://docs.djangoproject.com/en/5.0/topics/email/#smtp-backend for
> the Django settings for this.
These settings from the Django docs look like the ones in mailman.cfg.
Do I have to set them somewhere else too?
SMTP backend¶
<https://docs.djangoproject.com/en/5.0/topics/email/#smtp-backend>
/class/|backends.smtp.||EmailBackend|(/host=None/,/port=None/,/username=None/,/password=None/,/use_tls=None/,/fail_silently=False/,/use_ssl=None/,/timeout=None/,/ssl_keyfile=None/,/ssl_certfile=None/,/**kwargs/)¶
<https://docs.djangoproject.com/en/5.0/topics/email/#django.core.mail.backen…>
This is the default backend. Email will be sent through a SMTP server.
The value for each argument is retrieved from the matching setting
if the argument is|None|:
* |host|:|EMAIL_HOST|
<https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-EMAIL_HOST>
* |port|:|EMAIL_PORT|
<https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-EMAIL_PORT>
* |username|:|EMAIL_HOST_USER|
<https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-EMAIL_HOST_…>
* |password|:|EMAIL_HOST_PASSWORD|
<https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-EMAIL_HOST_…>
* |use_tls|:|EMAIL_USE_TLS|
<https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-EMAIL_USE_T…>
* |use_ssl|:|EMAIL_USE_SSL|
<https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-EMAIL_USE_S…>
* |timeout|:|EMAIL_TIMEOUT|
<https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-EMAIL_TIMEO…>
* |ssl_keyfile|:|EMAIL_SSL_KEYFILE|
<https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-EMAIL_SSL_K…>
* |ssl_certfile|:|EMAIL_SSL_CERTFILE|
<https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-EMAIL_SSL_C…>
The SMTP backend is the default configuration inherited by Django.
If you want to specify it explicitly, put the following in your
settings:
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
If unspecified, the default|timeout|will be the one provided
by|socket.getdefaulttimeout()|
<https://docs.python.org/3/library/socket.html#socket.getdefaulttimeout>,
which defaults to|None|(no timeout).
1 year, 3 months