Configure Haraka for Mailman3
-
@girish Not to be pushy but do you have any idea on the timeline here? Eg if it is more than a couple months then I might try and limp through with a hacky solution of:
- Creating mailboxes for the lists eg mailbox.devops@ourcompany.com for the mailing list devops@ourcompany.com
- Then with a seperate cron job periodically generating hypermail archive pages for the emails in these mailing list mailboxes?
Kind of ugly but a bit of a stopgap...
Thanks!
-
@girish said
I will look into this further since I would really like mailman3 or another real mailing list app on Cloudron.
Not sure of exactly what kind of "real mailing list app" you are looking at, but I think this powerful one, and it's also been there forever like mailman3, should also be considered in that category.
https://www.phplist.org/ -
@micmc said in Configure Haraka for Mailman3:
Thanks for the recommendation. PHPList looks like a "campaign" mailing list to send to external people. This is definitely useful but not quite what we were after.
More we are looking for mailing lists for internal people that maintains nice archives and people inside our group can subscribe to our de-subscribe to. Eg sales@ourconmpany.com, devops@ourcompany.com, expenses@ourcompany.com, design@ourcompany.com, marketing@ourcompany.com, etc. And so as people our interested in some of these topics they get naturally filtered to the different email lists... and we have internal archives of these lists. It works quite well as we currently have it. I just want to bring this sort of thing over to a cloudron server!
-
Hello, just to revive this thread a bit. Any idea of ways to have a proper mailing list app on cloudron (e.g. mailman or sympa)? Is this still not possible? Anything that people could help with to take this forward? @girish ?
-
I've just done a migration of a few small VPS instances to a larger Cloudron instance, main reason because I wanted to run a small Mastodon instance. Mailman is the only app I've had to install manually alongside Cloudron. I can post notes here on how I did it but if we can get a Mailman package started that would be fab. I've experience with the Docker Mailman images as well as installing using Pip. My current setup uses a subdomain Cloudron doesn't know about, the mail for that is handled outside of Cloudron email via Exim. Only shared component is Nginx which is running the Cloudron apps as well as hosting the reverse proxy to Django using Uwsgi. Really impressed with the Cloudron ecosystem by the way.
I wouldn't mind betting that the majority of Mailman 2 instances now run on a CPannel host, there is nothing like that for Mailman3 and setting up Mailman3 isn't trivial and has put several people off. I've done some consultancy work for some small orgs who want to implement Mailman3 but there isn't much out there. I think it would be a real boost to get Mailman3 on a platform such as Cloudron.
Relating to the mail setup I'm not fimiliar with Haraka in any way. Would you look at controlling the lists in Mailman via the Cloudron interface so Haraka knows what lists exist for a given domain, or have the lists on a dedicated domain that Haraka sends mail out to via LMTP? Since Mailman 3.3.6 we can use RCPT TO callout verification via LMTP which may help. Prior integrations either use Postfix with generation the transport maps via Mailman or with Exim as each list has a directory in the filesystem which Exim can check to ensure it is actually a valid list.
Andrew.
-
@adhodgson said in Configure Haraka for Mailman3:
Would you look at controlling the lists in Mailman via the Cloudron interface so Haraka knows what lists exist for a given domain, or have the lists on a dedicated domain that Haraka sends mail out to via LMTP?
Ideally, this won't be part of the Cloudron interface. Mailman3 would be a separate app you install and that somehow interfaces transparently with Haraka to send email.
Roughly, what is needed on Cloudron/Haraka side to make mailman work? Just an LMTP endpoint to relay mail ? Can it use SMTP instead?
-
@girish Mailman only accepts messages via LMTP. If your mail server has issues with LMTP, you could get the Mailman container to run an MTA like Exim or Postfix. Haraka could send the email via SMTP to the MTA running inside the Mailman container, which would then do LMTP to Mailman.
Mailman has been Dockerised before: https://github.com/maxking/docker-mailman
These containers assume an MTA is running on the host and can pass LMTP to the Mailman container via the Docker network.
-
-
@girish Is this something you have a particular interest in implementing on your end as a way to bring mailing list to Cloudron or will it need a more collaborative effort from the community? I'm asking because we seem to have someone here with good knowledge of Mailman3 right now and so could be a good time to leverage on this. Are some of the things needed for this that can only be done on your end?
-
@avatar1024 I guess we need an initial mailman Cloudron package for a start. https://github.com/maxking/docker-mailman is quite extensive and too complicated to maintain from the looks of it. After that, we have to make the LMTP addon happen on the Cloudron platform side. It's quite a bit of work to make all this happen.
Is there no other way mailman works? Is there an alternative to LMTP?
Also, is sympa a good alternative to this? If it is, what does that need?
-
@girish Humm I see, it really doesn't sound trivial.
I'm afraid it's unclear that things would be any easier with SYMPA as I don't think there is a docker install.
I guess that means proper mailing list is not likely to land on Cloudron any time soon. Shame as for people I work with it is the last missing piece to move everything to Cloudron.
So far I haven't found a way to really replace mailing list for working group communications as it just trikes the right balance of accessibility (everyone has an email address and roughly know how to use emails), almost instant, yet semi-organised communication. Might start a discussion and ask how other people do it for organisations with non techy people.
-
I just want to revive this thread again. I wonder if @adhodgson can provide more insights about how to have a roundabout for not having Mailman available at Cloudron but needing to have mailing lists. Iām on that side.
-
@girish said in Configure Haraka for Mailman3:
it seems we need the ability for mailman3 to receive mail via LMTP from Haraka. This is not possible right now since Haraka only delivers internally to dovecot at this point.
But its seems Haraka itself does indeed support LMTP, no? see e.g. https://cloudinfrastructureservices.co.uk/top-20-best-open-source-email-servers-for-windows-linux/
Or perhaps better:
https://haraka.github.io/plugins/queue/lmtp -
@jdaviescoates we already use the LMTP plugin but it's configured to only deliver incoming mails to dovecot. In the mailmain situation, we have to deliver mails to one (or more) apps. This requires a bit of work to make a mailman like app possible.
-
@girish I wonder if there have been any progress since September that would help with this?
And if not, where should someone with coding skills start looking?
-
@girish Sure that's completely understandable, thanks for the reply.
Given that neither mailman or SYMPA seems straightforward to implement in Cloudron I might revive this thread to add a basic moderation function to Cloudron mailing list. I believe for security purpose this is the main missing feature and the proposed approached may not be too hard to implement with the current backend(?).
What users still won't get is the ability for members to subscribe and unsubscribe by themselves, but an admin can do that manually so at least it is doable.
Another thing that would be nice is to be able to create a list from a Cloudron Group (i.e. mailing list that contains emails of everyone in a group and that gets updated each time you add or remove a user from a group). I don't know how your database works and how easy that might be to implement. What do you reckon?
(Again this can be done manually so not as important as moderation, but just something that would be nice and possibly doable if the info are easily retrievable from the user database in the backend.) -