Search results for query "sapiro"
- 5932 messages
[MM3-users] Re: templates
by Odhiambo Washington
If you don't have any templates in the file system and none in the DB
table, then you must go to Jerusalem and pray, because you don't have any
and nothing will work the way you want.
It's either or!
On Thu, May 4, 2023, 21:14 Christian via Mailman-users <
mailman-users(a)mailman3.org> wrote:
> In March when I started troubleshooting my lists, you stated:
>
> "Also, one other thing you might check. Do these non-working lists have
> templates defined in postorius, in particular, one for
> list:member:regular:footer, and if not, are there any in Mailman's
> var/templates/lists/redlatinleg(a)lists.ccalternatives.org/ derectory that
> Mailman doesn't have permission to find and read?"
>
> There are no other templates listed in either Postorius nor in Mailman's
> var/templates (as I stated, I do not even lave a 'lists' subdirectory under
> Mailman's var/templates). My subscribers are not receiving message
> distributions from my lists, even while some of them are listed in the
> archives.
>
>
>
>
> -----Original Message-----
> From: Mark Sapiro <mark(a)msapiro.net>
> Sent: Thursday, May 4, 2023 10:58 AM
> To: mailman-users(a)mailman3.org
> Subject: [MM3-users] Re: templates
>
> On 5/4/23 10:33, Christian via Mailman-users wrote:
> > I'm having issues with my lists. For each list I have created a
> > template [ list:user:action:subscribe ]which has a prospective
> > subscriber have to consent to list rules before they are subscribed.
> > This template I created is listed in Postorius for each list. I have
> > noticed that there are no other templates listed in Postorius.
> Furthermore, there is no 'lists'
> > subdirectory under Mailman's var/templates/.
>
>
> When you set a template in Postorius it saves it in the
> postorius_emailtemplate table in the database and tells Mailman core to get
> the template from Postorius via a URI to a Postorius API.
>
> --
> 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/
> QIHCMEBWANR67HV3NKBK5MCQNSNZRF2A/
> <https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…>
>
> This message sent to csa(a)web-analysts.net
>
> _______________________________________________
> 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 odhiambo(a)gmail.com
>
2 years, 5 months
[MM3-users] Re: mailman3 postorius cannot retrieve template at ... (<no authorization>)
by Mark Sapiro
On 10/29/21 3:41 AM, Wolfgang Bock via Mailman-users wrote:
>
> the question is: postgres - mailman3web-postorius_emailtemplate table vs
> mailman3 - templates table
>
> I installed a brand new mailman3 with mailman Core 3.3.3, Api 3.1, Core
> Python 3.9.2 postgres12 nginx on debian bullseye.
>
> I created a template via postorius -> lists -> (testliste01) -> templates
> -> new template -> [list:member:regular:footer] and
> [list:member:digest:footer]
>
> They are shown in the postgres database mailman3 table templates:
> id name context uri username password
> 14 list:member:digest:footer testliste01.mydomain.de
> http://localhost/postorius/api/templates/list/testliste01.mydomain.de/list:m
> ember:digest:footer
> 15 list:member:regular:footer testliste01.mydomain.de
> http://localhost/postorius/api/templates/list/testliste01.mydomain.de/list:m
> ember:regular:footer
>
> First there where no templates in the /var/lib/mailman3/templates folder,
> which was empty after installation.
This is expected. That is one place where you can put custom templates.
> Later I created in /var/lib/mailman3/templates theses folders and the files
> /list/testliste01.mydomain.de/list:member:digest:footer +
> list:member:regular:footer owned by list:list 644
>
> A testmail went through but instead of the default footer no footer was
> shown.
By default Mailman searches for templates first in the var/templates
directory and then in the templates directory in the Mailman
installation. The details are described at
https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/utilities/i18n….
However, the default search is only applied if there is matching entry
for the template name and context in the `templates` table in the
database or if the uri in the entry is a `mailman://` uri.
When you create a template in Postorius, that uri becomes something like
`https://example.com/mailman3/api/templates/list/<list_id>/<template_name>`
which basically says get the template from Postorius, and the template
if any in var/templates is ignored.
> In the sys.log I found the following error message:
> Oct 29 11:28:04 myserver mailman3[33015]: Message: `Cannot retrieve template
> at
> http://localhost/postorius/api/templates/list/testliste01.mydomain.de/list:m
> ember:regular:footer (<no authorization>)`
So Mailman is trying to get the Postorius template. What is in the web
server logs for this retrieval?
> How can I solve this problem? What kind of authorisation is meant? list?
> restadmin?
>
> I read in
> https://docs.mailman3.org/en/latest/config-core.html#configure-templates
> ... list specific templates invar/templates/lists/LIST-ID/LC/ ...
> I guess the LC means Language Code. But in the database table templates no
> LC subdirectory is mentioned (in my case must be de).
If you delete the Postorius template, The entry in the templates table
will be removed and the search will revert to var/templates, etc.
> And I read (dont know where) .... The templates created in Postorius are
> created in the postorius_emailtemplate table in Mailman`s database and
> referenced via URLs like
> `https://example.com/mailman3/api/templates/list/<list-id>/<template-name>`.
> I.e., they are not stored in the file system. ...
>
> That`s true. I found in postgres database mailman3web in the table
> mailman3web postorius_emailtemplate my
>
> id name data language created_at modified_at
> context identifier
> 15 list:member:digest:footer postorius footer digest 1x linefeed
> 2021-10-29 11:17:40.664689+02 2021-10-29 11:26:48.692628+02 list
> testliste01.mydomain.de
> 16 list:member:regular:footer postorius footer non-digest 1x
> linefeed 2021-10-29 11:18:29.166241+02 2021-10-29 11:27:24.519024+02 list
> testliste01.mydomain.de
>
> But my question is how to integrate this into the mailman3-system. The
> language isn`t set either.
It is integrated. The language isn`t set because you are getting the
template from Postorius and Postorius knows the language.
On 10/31/21 4:13 AM, Wolfgang Bock via Mailman-users wrote:
> regarding my mail before, here an additional information.
>
> I can show the templates with following command (anonymized):
>
https://active_domain.de/postorius/api/templates/list/testliste01.active_do…
As it should be.
> The complete syslog
>
(edited and reformatted by me)
```
> --- Logging error ---
> Traceback (most recent call last): Oct 30 11:49:52 active_server
mailman3[107630]: File
"/usr/lib/python3/dist-packages/mailman/model/template.py", line 110, in get
> contents = protocols.get(actual_uri, **auth)
> File
"/usr/lib/python3/dist-packages/mailman/utilities/protocols.py", line
39, in get
> response.raise_for_status()
> File "/usr/lib/python3/dist-packages/requests/models.py", line
943, in raise_for_status
> raise HTTPError(http_error_msg, response=self)
> requests.exceptions.HTTPError: 404 Client Error: Not Found for url:
http://localhost/postorius/api/templates/list/testliste01.active_domain.de/…
> During handling of the above exception, another exception occurred:
> Traceback (most recent call last):
> File "/usr/lib/python3.9/logging/__init__.py", line 430, in format
> return self._format(record)
> File "/usr/lib/python3.9/logging/__init__.py", line 426, in _format
> return self._fmt % record.__dict__
> KeyError: `t`
> During handling of the above exception, another exception occurred:
```
Your template is malformed. You have $ strings that are not defined as
Mailman substitution variables. See
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/rest/docs/…
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
3 years, 11 months
[MM3-users] Re: Relaying email from external SMTP server (office365 or Exchange)
by Waqas Ahmed Khan
Hi,
I have successfully configured Office365 to relay emails from Mailman3. I
used the below configuration.
change following lines in mailman.cfg:
smtp_host: your-domain.com.mail.protection.outlook.com
smtp_port: 25
And then configure SMTP Relay Connector in Office365, so it can recognize
your server. SMTP relay doesn't use a specific Office 365 mailbox to send
email.
Option3 of Link:
https://docs.microsoft.com/en-us/exchange/mail-flow-best-practices/how-to-s…
Could you Please confirm, what should be hardware configuration (ram,
processor, disk) to run mailman3 server for medium size organization? This
server will have 10-15 lists and some lists having 10k to 20k members. Also
what should be DISK SPACE of the server for Archiving emails?
Regards,
*Waqas Ahmed Khan*
p: +923212608044
Skype: waqas-ahmed00 <waqas.ahmed0(a)gmail.com>
waqas.ahmed0(a)gmail.com
[image: LinkedIn] <http://pk.linkedin.com/pub/waqas-ahmed-khan/15/96a/39a/>
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_cam…>
Virus-free.
www.avg.com
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_cam…>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Tue, Jun 23, 2020 at 8:23 AM Mark Sapiro <mark(a)msapiro.net> wrote:
> On 6/22/20 7:58 AM, Waqas Ahmed Khan wrote:
> > Hi,
> >
> > I have installed mailman3 with postfix. The server is working fine. To
> > protect the IPs from blacklisting, I want to relay all emails from
> > postfix/mailman to external SMTP servers like O365, Gmail, or our
> exchange
> > server.
>
>
> I would not recommend using O365 or Gmail as outgoing MTAs. I don't
> really know about )365, but I don't think Gmail likes you to send mail
> via a gmail server if it is not From: (or maybe envelope from or both) a
> gmail or googlemail address.
>
>
> > Could you please confirm is this possible. And how to do its
> configuration.
>
>
> It is possible and there are two ways to do it. You can configure this
> in Postfix to relay all outgoing mail via some other server.
>
>
> You can configure it in Mailman by setting in the [mta] section of
> mailman.cfg
>
> smtp_host:
> smtp_port:
>
> and presumably for authentication
>
> smtp_user:
> smtp_pass:
>
> Also see
>
> https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/config/schema.…
> and following for other relevant settings.
>
> --
> 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, 4 months
[MM3-users] Re: Hyperkitty Recommended mySQL Database Setup & Archive Importing
by matthew@alberti.us
I should clarify a bit. That connection string I mentioned in the previous
post is in the docker-compose.yaml file for the docker-mailman containers.
For web, it seems the settings.py file for the mailman-web container is
configured to parse connection string, but there isn't (I don't think) any
provision to set additional options, such as the encoding. So there doesn't
appear to be a straightforward way, using the container yaml approach, to
pass the 'OPTIONS' for the encoding. It does however look like it is
possible to override the whole database connection settings using
settings_local.py, but unsure. That would I think be the way to do it,
setting the whole database configuration settings per
https://gitlab.com/mailman/mailman-suite/-/blob/master/mailman-suite_project
/settings.py#L156 in the settings_local.py file.
For core, the connection string seems to accept a tailing
"?charset=utf8&use_unicode=1" per
https://mailman.readthedocs.io/en/stable/src/mailman/docs/database.html So
for core, maybe just updating the connection string to include
"?charset=utfmb4&use_unicode=1" will just work? The link lists utf8 as the
recommend encoding... maybe that should be updated?
I realize this may be drifting more towards concerning the docker container
setup vs. non-containerized core and web. But either way, these seem to be
mysql specific caveats that I've certainly missed. Hopefully this helps
someone else.
Seems the takeaway is that, for mysql databases only, the use of utf8mb4 is
recommended, and it needs to be explicitly identified in the database
settings for BOTH core and web, and probably somehow at database creation
time?
Now to see what the best procedure is to put these configuration changes in
place, and also update the database?
- Matt Alberti
-----Original Message-----
From: Mark Sapiro <mark(a)msapiro.net>
Sent: Wednesday, December 9, 2020 9:35 PM
To: mailman-users(a)mailman3.org
Subject: [MM3-users] Re: Hyperkitty Recommended mySQL Database Setup &
Archive Importing
On 12/9/20 6:06 PM, matthew(a)alberti.us wrote:
> Thanks Mark. Also, just to confirm, should the database connection
> string also be updated? In both the core and web configuration, I have
> something
> like:
>
> DATABASE_URL=mysql+pymysql://mailman:password@database/mailmandb
>
> Note the trailing UTF-8 encoding stuff isn't there. Should we be
> specifying
> utf8mb4 there as well?
In the mailman.cfg database section, you probably want
url:
mysql+pymysql://myuser:mypassword@mymysqlhost/mailman?charset=utf8mb4&us
mysql+e_unicode=1
I don't know why you would have a DATABASE_URL setting in the web
configuration. Exactly where is this? I don't think it would be meaningful
in any Django settings.
--
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/
4 years, 10 months
[MM3-users] Re: Installing mailman 3
by Rafael Mora
I got this on maillog:
[root@localhost log]# cat maillog
Jul 24 11:33:13 localhost postfix/postfix-script[2044]: warning: not
set-gid or
not owner+group+world executable:
/usr/sbin/postqueue
Jul 24 11:33:13 localhost postfix/postfix-script[2066]: warning: not
set-gid or
not owner+group+world executable: /usr/sbin/postdrop
Jul 24 11:33:13 localhost postfix/postfix-script[2081]: starting the
Postfix mai
l system
Jul 24 11:33:13 localhost postfix/master[2083]: daemon started -- version
2.10.1
, configuration /etc/postfix
Jul 24 11:35:29 localhost postfix/postfix-script[2115]: warning: not
set-gid or
not owner+group+world executable:
/usr/sbin/postqueue
Jul 24 11:35:29 localhost postfix/postfix-script[2116]: warning: not
set-gid or
not owner+group+world executable: /usr/sbin/postdrop
Jul 24 11:35:29 localhost postfix/postfix-script[2123]: starting the
Postfix mai
l system
Jul 24 11:35:29 localhost postfix/master[2125]: daemon started -- version
2.10.1
, configuration /etc/postfix
Jul 24 13:55:31 localhost postfix/postfix-script[2095]: warning: not
set-gid or
not owner+group+world executable:
/usr/sbin/postqueue
Jul 24 13:55:31 localhost postfix/postfix-script[2096]: warning: not
set-gid or
not owner+group+world executable: /usr/sbin/postdrop
Jul 24 13:55:31 localhost postfix/postfix-script[2105]: starting the
Postfix mai
l system
Jul 24 13:55:32 localhost postfix/master[2110]: daemon started -- version
2.10.1
, configuration /etc/postfix
Jul 24 15:57:26 localhost postfix/postfix-script[2079]: warning: not
set-gid or
not owner+group+world executable:
/usr/sbin/postqueue
Jul 24 15:57:26 localhost postfix/postfix-script[2086]: warning: not
set-gid or
not owner+group+world executable: /usr/sbin/postdrop
Jul 24 15:57:26 localhost postfix/postfix-script[2093]: starting the
Postfix mai
l system
Jul 24 15:57:26 localhost postfix/master[2095]: daemon started -- version
2.10.1
, configuration /etc/postfix
Jul 24 16:33:01 localhost postfix/postfix-script[1993]: warning: not
set-gid or
not owner+group+world executable:
/usr/sbin/postqueue
Jul 24 16:33:01 localhost postfix/postfix-script[1996]: warning: not
set-gid or
not owner+group+world executable: /usr/sbin/postdrop
Jul 24 16:33:01 localhost postfix/postfix-script[2003]: starting the
Postfix mai
l system
Jul 24 16:33:01 localhost postfix/master[2005]: daemon started -- version
2.10.1
, configuration /etc/postfix
Jul 24 17:29:21 localhost postfix/postfix-script[2077]: warning: not
set-gid or
not owner+group+world executable:
/usr/sbin/postqueue
Jul 24 17:29:21 localhost postfix/postfix-script[2079]: warning: not
set-gid or
not owner+group+world executable: /usr/sbin/postdrop
Jul 24 17:29:21 localhost postfix/postfix-script[2092]: starting the
Postfix mai
l system
Jul 24 17:29:21 localhost postfix/master[2096]: daemon started -- version
2.10.1
, configuration /etc/postfix
El lun., 24 jul. 2017 a las 17:23, Mark Sapiro (<mark(a)msapiro.net>)
escribió:
> On 07/24/2017 02:52 PM, Rafael Mora wrote:
> > I did that but I don't have a maillog for today 07.24.2017
>
>
> The current log is just named 'maillog' the ones with dates are older
> logs rotated by logrotate.
>
> --
> 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/
>
--
Atentamente / Best Regards
Ing. Rafael Mora
8 years, 3 months
[MM3-users] Re: Mailman notify generating emails for request that aren't visible.
by Simon Coggins
The version of postorius is 1.3.4
django-mailman3 1.3.5
mailman 3.3.4
mailman-hyperkitty 1.1.0
mailmanclient 3.3.2
postorius 1.3.4
---
[https://www.cqu.edu.au/]
Mr Simon Coggins
Principal Systems Engineer | Digital Services Directorate
CQUniversity Australia, Level 6.14, 160 Ann Street, Brisbane, QLD 4000
P +61 7 3295 1182 | X 51182 | M +61 408 115 861 | E s.coggins(a)cqu.edu.au<mailto:s.coggins@cqu.edu.au>
[https://www.cqu.edu.au/social-media]
I respectfully acknowledge the Traditional Owners of the land on which we work and learn,
and pay respect to the First Nations Peoples and their Elders, past, present and future.
This communication may contain privileged or confidential information. If you have received this in error, please return to sender and delete.
CRICOS: 00219C | RTO Code 40939
On 1 Nov 2021, at 12:04 pm, Mark Sapiro <mark(a)msapiro.net<mailto:mark@msapiro.net>> wrote:
On 10/31/21 6:11 PM, Simon Coggins wrote:
> Hi,
>
> We’re running mailman 3.3.4 (about to upgrade to 3.3.5 this week). I enabled mailman notify cron a few weeks ago to email out any pending requests for admins. I’ve now got multiple lists that keep emailing out the same outstanding holds but they can’t visible in the GUI. The requests are all duplicates as well. This is a redacted example email:
>
> -----Original Message-----
> From: mailman-alerts(a)example.com<mailto:mailman-alerts@example.com><mailto:mailman-alerts@example.com>
> Sent: Monday, 1 November 2021 8:10 AM
> To: somelist-owner(a)lists.example.com<mailto:somelist-owner@lists.example.com><mailto:somelist-owner@lists.example.com>
> Subject: The somelist(a)lists.example.com<mailto:somelist@lists.example.com><mailto:somelist@lists.example.com> list has 4 moderation requests waiting.
>
> The somelist(a)lists.example.com<mailto:somelist@lists.example.com><mailto:somelist@lists.example.com> list has 4 moderation requests waiting.
>
> Held Unsubscriptions:
> User: john.smith(a)maildomain.com<mailto:john.smith@maildomain.com><mailto:john.smith@maildomain.com>
> User: john.smith(a)maildomain.com<mailto:john.smith@maildomain.com><mailto:john.smith@maildomain.com>
> User: john.smith(a)maildomain.com<mailto:john.smith@maildomain.com><mailto:john.smith@maildomain.com>
> User: john.smith(a)maildomain.com<mailto:john.smith@maildomain.com><mailto:john.smith@maildomain.com>
>
> Please attend to this at your earliest convenience.
Your lists are configured with Un-Subscription Policy moderate or
confirm, then moderate so unsubs require Moderator approval.
What Postorius version is this? Prior to 1.3.3, unsubsubscription
requests were not visible in Postorius. In 1.3.3_+ they are available in
the Subscription requests dropdown at
https://example.com/mailman3/lists/listname.example.com/unsubscription_requ…<https://example.com/mailman3/lists/listname.example.com/unsubscription_requ…>
although they may not be counted in the Subscription requests count badge.
--
Mark Sapiro <mark(a)msapiro.net<mailto:mark@msapiro.net>> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
_______________________________________________
Mailman-users mailing list -- mailman-users(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/<https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org>
3 years, 11 months
[MM3-users] Re: Hyperkitty Text/Markdown/HTML
by Mark Sapiro
On 9/8/25 07:22, Sam Darwin via Mailman-users wrote:
> How about a feature to include "HTML" in the current Hyperkitty choices of (Text or Markdown) rendering?
I don't understand what you envision such a rendering to do. First of
all, this setting only affects rendering in HyperKitty thread and
message views of archived messages. It has nothing at all to do with
messages delivered to list members.
Archived messages which contain text/html parts currently render those
parts as attachments that can be downloaded. Are you suggesting that
"HTML" rendering would render those inline or something else?
> A sanitizer must be used to prevent malicious attacks. https://github.com/messense/nh3 . lxml is another package that processes html.
>
> A sanitizer would be helpful for more aspects. Permit a limited set of markdown so that messages still appear professional. Gitlab/Github don't allow arbitrary fonts or font sizes, right? Mostly remove these tags.
>
> A way that code blocks could be presented: determine an established list of known codeblock styles. Configure the sanitizer to permit this range of fonts or styling elements. By allowing them through the filter, a code styling is rendered. (It is permitted/allowed to be rendered.) Even better, when the sanitizer recognizes the fonts, it replaces them with an "official" set of codeblock fonts.
>
> Otherwise, if other font tags are entirely removed, if they are missing, the email client or web ui will decide the font selection, and it will appear "standard".
Your reference to email client suggests you are thinking in terms of
messages delivered to list members. HyperKitty's rendering mode has
nothing to do with that.
> In order for both email clients and Hyperkitty to view the same result, the sanitizer should ideally be applied to outgoing emails as well as rendering in the UI. That means this feature would affect more than just Hyperkitty. (i.e. mailman-core). Although, that could be implemented as a separate step, until which time emails would get a full range of HTML, without sanitizing.
As far as Mailman core is concerned, Things like this are handled in
content filtering. In particular the settings Collapse alternatives and
Convert html to plaintext.
> In this scheme, ensure outgoing emails are multi-part MIME with plain text and html versions.
If the incoming message is multipart/alternative with text/plain and
text/html alternatives and content filtering accepts all those MIME
types and does not Collapse alternatives, the outgoing message will be
the same.
If you're suggesting a text/html part outside of a multipart/alternative
part should cause Mailman to create a text/plain alternative and convert
the text/html part into a multipart/alternative part containing the
text/plain and text/html alternatives, that could be done, but I'm not
interested in doing it. We already have a mechanism for converting HTML
to plain text, but current code replaces the HTML.
As far as converting plain text to HTML, the straight forward way to to
that is just to wrap it in <pre>..</pre> tags, but there seems to be
nothing gained by that. As far as converting urls and email addresses
into clickable links, many MUAs already do that.
> Some of our users are really in favor of more formatting.
>
> Others prefer plain text.
>
> Those who prefer plain text have various arguments that HTML messages will be rendered badly, and won't be legible.
All of the settings mentioned are per list, not user option/
> Questions:
>
> 1. Would "multi-part MIME with plain text and html versions both" solve the problem for users who prefer plain text?
If they set their MUA to render the text/plain alternative.
> 2. What percentage of email clients that support HTML formatting when sending will also include a plain text rendering of the same content in the outgoing message?
Many if not all mainstream ones do or at least have settings to control
it, but some do a horrible job. For example if in Yahoo mail one
composes in "rich text" and drags and drops or copy/pastes or in some
ways even types a link, the generated text/plain alternative doesn't
contain the url in any form - see
<https://www.grizz.org/wiki/PostingURLsToLists>
> 3. Is it usually the responsibility of a receiving mail client to be able to convert HTML to plain text if the user requests it?
If a message part is multipart/alternative and the user wants plain
text, I think most MUAs will just display the text/plain alternative. If
the message is HTML only, I suppose the MUA will convert it somehow.
> 4. When mailman-core receives and then sends out a message, can it receive HTML, generate a plain-text version, and then send both?
Not currently. It can convert the HTML to plain text using a configured
process such as lynx or elinks, but then only the plain text is sent,
not both.
On the other hand, if the incoming message is multipart/alternative and
content filtering is off or appropriately set, the outgoing message will
be multipart/alternative.
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
1 month, 3 weeks
[MM3-users] Re: Delete Django profiles not signed up to a list
by Allan Hansen
Mark,
Will this be part of an upcoming update or micro update to Mailman?
Yours,
Allan Hansen
P.O. Box 2423
Cypress, CA 90630
> On Mar 31, 2023, at 15:49, Mark Sapiro <mark(a)msapiro.net> wrote:
>
> On 3/31/23 14:17, Andrew Hodgson wrote:
>> Hi.
>> Has anyone managed to get this script running using the Mailman-Web setup in a venv? It was working when Settings.py was in the /opt/mailman/mm directory but since moving to Mailman-Web has it in /etc/mailman3. I have been trying to import Mailman-Web to get the Django environment running but every time I do this I get a not configured exception raised.
>
>
> First, get the latest version of the script from https://www.msapiro.net/scripts/clean_users.py - not the one in this threat attached to https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…
>
>
> Then, you need to change `/opt/mailman/mm` in three places to `/etc/mailman3` as in
> ```
> --- /opt/mailman/mm/bin/clean_users.py 2021-05-08 20:03:31.657565251 -0700
> +++ clean_users.py 2023-03-31 15:48:31.772383287 -0700
> @@ -2,13 +2,13 @@
> import os
> import sys
>
> -sys.path.insert(0, '/opt/mailman/mm')
> +sys.path.insert(0, '/etc/mailman3')
> # The above line is required. The next line doesn't hurt, but it doesn't work
> # because the PYTHONPATH environment setting is processed by Python's setup
> # and must be in the environment when Python starts to be effective.
> -os.environ['PYTHONPATH'] = '/opt/mailman/mm'
> +os.environ['PYTHONPATH'] = '/etc/mailman3'
> os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
> -os.environ['MAILMAN_CONFIG_FILE'] = '/opt/mailman/mm/mailman.cfg'
> +os.environ['MAILMAN_CONFIG_FILE'] = '/etc/mailman3/mailman.cfg'
>
> import django
> django.setup()
> ```
> Also, look at this
> ```
> # If we delete the Django user and there is a Mailman user with no memberships
> # shall we delete the Mailman user too.
> DELETE_MAILMAN_USER = False
> # Shall we delete the Django user if there is a Mailman user with no
> # memberships or only if there is no Mailman user.
> DELETE_DJANGO_IF_MAILMAN = True
> ```
> and consider whether you want to set `DELETE_MAILMAN_USER = True` to also delete the Mailman user if any, and/or set `DELETE_DJANGO_IF_MAILMAN = False` to not delete the django user if there is a Mailman user with no memberships.
>
> --
> 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 hansen(a)rc.org
2 years, 6 months
[MM3-users] Re: Still unable to get mailman3 working on Ubuntu 20.04 LTS
by Mark Sapiro
On 1/9/22 3:26 AM, Michael Heseltine wrote:
>> This isn't your immediate problem, but it is an issue. The above isn't
>> too informative. What do you get if you run
>>
>> /opt/mailman/mm/bin/django-admin qcluster
>>
>> manually?
>
> I get the following:
>
>> # /opt/mailman/mm/bin/django-admin qcluster
>> 11:50:41 [Q] INFO Q Cluster autumn-sixteen-tango-march starting.
>> 11:50:41 [Q] INFO Process-1:1 ready for work at 3725610
>> 11:50:41 [Q] INFO Process-1:2 ready for work at 3725611
>> 11:50:42 [Q] INFO Process-1:3 ready for work at 3725612
>> 11:50:42 [Q] INFO Process-1:4 ready for work at 3725613
>> 11:50:42 [Q] INFO Process-1:5 monitoring at 3725614
>> 11:50:42 [Q] INFO Process-1 guarding cluster autumn-sixteen-tango-march
>> 11:50:42 [Q] INFO Process-1:6 pushing tasks at 3725615
>> 11:50:42 [Q] INFO Q Cluster autumn-sixteen-tango-march running.
>
> And then nothing until I end the command with Ctrl-C.
This is what I would expect. It seems to be working. I'm not sure why it
fails when run from systemd. Are you running memcached?
systemctl status memcached.service
That needs to be installed and running for qcluster.
> Sorry, I didn't realize that they were truncated. Here are ( I hope) the full logs from /var/log/syslog:
>
>> Jan 8 21:24:57 lists systemd[1]: Started GNU Mailman web interfaces.
>> Jan 8 21:24:57 lists gunicorn[3707354]: !!!
>> Jan 8 21:24:57 lists gunicorn[3707354]: !!! WARNING: configuration file should have a valid Python extension.
>> Jan 8 21:24:57 lists gunicorn[3707354]: !!!
>> Jan 8 21:24:57 lists gunicorn[3707354]: Traceback (most recent call last):
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 209, in run
>> Jan 8 21:24:57 lists gunicorn[3707354]: self.sleep()
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 357, in sleep
>> Jan 8 21:24:57 lists gunicorn[3707354]: ready = select.select([self.PIPE[0]], [], [], 1.0)
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 242, in handle_chld
>> Jan 8 21:24:57 lists gunicorn[3707354]: self.reap_workers()
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
>> Jan 8 21:24:57 lists gunicorn[3707354]: raise HaltServer(reason, self.WORKER_BOOT_ERROR)
>> Jan 8 21:24:57 lists gunicorn[3707354]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
>> Jan 8 21:24:57 lists gunicorn[3707354]: During handling of the above exception, another exception occurred:
>> Jan 8 21:24:57 lists gunicorn[3707354]: Traceback (most recent call last):
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/bin/gunicorn", line 14, in <module>
>> Jan 8 21:24:57 lists gunicorn[3707354]: sys.exit(gunicorn.app.wsgiapp.run())
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 67, in run
>> Jan 8 21:24:57 lists gunicorn[3707354]: WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/app/base.py", line 231, in run
>> Jan 8 21:24:57 lists gunicorn[3707354]: super().run()
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/app/base.py", line 72, in run
>> Jan 8 21:24:57 lists gunicorn[3707354]: Arbiter(self).run()
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 229, in run
>> Jan 8 21:24:57 lists gunicorn[3707354]: self.halt(reason=inst.reason, exit_status=inst.exit_status)
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 342, in halt
>> Jan 8 21:24:57 lists gunicorn[3707354]: self.stop()
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 393, in stop
>> Jan 8 21:24:57 lists gunicorn[3707354]: time.sleep(0.1)
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 242, in handle_chld
>> Jan 8 21:24:57 lists gunicorn[3707354]: self.reap_workers()
>> Jan 8 21:24:57 lists gunicorn[3707354]: File "/opt/mailman/mm/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
>> Jan 8 21:24:57 lists gunicorn[3707354]: raise HaltServer(reason, self.WORKER_BOOT_ERROR)
>> Jan 8 21:24:57 lists gunicorn[3707354]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
>> Jan 8 21:24:58 lists systemd[1]: gunicorn.service: Main process exited, code=exited, status=1/FAILURE
>> Jan 8 21:24:58 lists systemd[1]: gunicorn.service: Failed with result 'exit-code'.
I'm not sure about this one either. You might want to look at
https://stackoverflow.com/questions/24488891/gunicorn-errors-haltserver-hal…
or other hits from
https://www.google.com/search?q=gunicorn+worker+failed+to+boot
Are your files
/etc/systemd/system/gunicorn.service
/opt/mailman/mm/bin/gunicorn
opt/mailman/mm/gunicorn.conf
the same as recommended at
https://wiki.list.org/DOC/Mailman%203%20installation%20experience?action=At…
https://wiki.list.org/DOC/Mailman%203%20installation%20experience?action=At…
https://wiki.list.org/DOC/Mailman%203%20installation%20experience?action=At…
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
3 years, 9 months
[MM3-users] Re: Hyperkitty no longer archiving
by Hirayama, Pat
Hi Mark!
> -----Original Message-----
> From: Mark Sapiro <mark(a)msapiro.net>
> Sent: Tuesday, November 22, 2022 12:19 PM
> To: mailman-users(a)mailman3.org
> Subject: [MM3-users] Re: Hyperkitty no longer archiving
>
> First, my apologies for not taking note of your MAILMAN_ARCHIVER_FROM
> setting in your OP.
No worries. I tried to include everything that might be needed for you and the other frequent posters to be able to give me an answer, and all of you respond to a LOT of posts.
> On 11/22/22 08:52, Hirayama, Pat wrote:
> > Steve wrote:
> >> 2. Does settings.py have "from settings_local import *" in it?
> >
> > Yes. I assume that overrides the MAILMAN_ARCHIVER_FROM and other
> related settings defined at the top of the settings.py file? Or should I update
> settings.py based on what is in settings_local.py?
>
>
> Assuming the `from settings_local import *` is at the end of
> settings.py, anything defined in settings_local.py will override the
> definition in settings.py. There's no need to change settings.py.
This is the end of settings.py:
#
# HyperKitty-specific
#
# Only display mailing-lists from the same virtual host as the webserver
FILTER_VHOST = False
POSTORIUS_TEMPLATE_BASE_URL = 'http://localhost:8000'
try:
from settings_local import *
except ImportError:
pass
I'm assuming that is close enough to the end?
<snip>
>
> The
> ```
> ERROR 2022-11-22 00:25:40,365 7 hyperkitty.views.mailman Access to the
> archiving API endpoint was forbidden from IP 172.31.0.1, your
> MAILMAN_ARCHIVER_FROM setting may be misconfigured
> ```
> message comes from
> https://urldefense.com/v3/__https://gitlab.com/mailman/hyperkitty/-
> /blob/master/hyperkitty/views/mailman.py*L62__;Iw!!GuAItXPztq0!hLVF14
> B0x45qVgO6PBHbLDw0TH9RiV8rrAVWDBuswab7QFb56LlCxdyihoc-
> 2F4ZHdqDTdXzj4YgcLM$
> which only occurs if '172.31.0.1' is not in MAILMAN_ARCHIVER_FROM. Given
> that it is in MAILMAN_ARCHIVER_FROM as defined in settings_local.py, the
> only thing I can conclude is that the Django settings actually used is
> not the settings.py you think it is.
>
> I don't know offhand even what wsgi service is used in the docker
> container or how it is configured, but it needs to set its working
> directory to the directory containing settings.py.
>
So, looking at the Django container, I see this process popping up periodically. I think that means that it is running from the directory specified by "--pythonpath"" (which is where settings.py and settings_local.py are located). I am further assuming that "--settings settings" is ok without a .py extension.
53972 mail 0:00 {django-admin} /usr/local/bin/python /usr/local/bin/django-admin runjobs quarter_hourly --pythonpath /opt/mailman/mailman-suite/mailman-suite_project/. --settings settings
53978 mail 0:00 {django-admin} /usr/local/bin/python /usr/local/bin/django-admin runjobs minutely --pythonpath /opt/mailman/mailman-suite/mailman-suite_project/. --settings settings
> --
> Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
> San Francisco Bay Area, California better use your sense - B. Dylan
>
2 years, 11 months