mlmmj : Mailing List
While there are hundreds of social networks, with their own policies and ads, instant messenging apps, forums and so on, remember mailing lists are a thing. Mailing lists are the future because :
- Mails just works for everyone
- Mails will exist in 10 years.
- It's easy to manage
- Each user choose how to deal with emails
- You just need an email address to use mailing list, and everyone has an email.
Here, we'll talk about mlmmj since it perform well on OpenBSD, is easy and secured.
install mlmmj
# pkg_add mlmmj
Create a new mailing list
Use command "mlmmj-make-ml" and follow instructions.
Below is an example to create list "pizza" on the domain "list.athome.tld", so "pizza@list.athome.tld".
# mlmmj-make-ml Creating Directorys below /var/spool/mlmmj. Use '-s spooldir' to change What should the name of the Mailinglist be? [mlmmj-test] : pizza The Domain for the List? [] : athome.tld The emailaddress of the list owner? [postmaster] : batman@athome.tld For the list texts you can choose between the following languages or give a absolute path to a directory containing the texts. Available languages: ast cs de en fi fr gr it pt sk zh-cn The path to texts for the list? [en] : Don't forget to add this to /etc/aliases: pizza: "|/usr/local/bin/mlmmj-receive -L /var/spool/mlmmj/pizza/" If you're not starting mlmmj-maintd in daemon mode, don't forget to add this to your crontab: 0 */2 * * * "/usr/local/bin/mlmmj-maintd -F -L /var/spool/mlmmj/pizza/" ** FINAL NOTES ** 1) The mailinglist directory have to be owned by the user running the mailserver (i.e. starting the binaries to work the list) 2) Run newaliases
Make sure permissions are correct:
# chown -R _smtpd:_smtpd /var/spool/mlmmj/pizza
Edit root's crontab ("# cronta -e") to add the line given by mlmmj-make-ml :
0 */2 * * * /usr/bin/mlmmj-maintd -F -L /var/spool/mlmmj/pizza
Make smtpd ready
Edit "/etc/mail/smtpd.conf" so it handles mailing list messages correctly :
table aliases "/etc/mail/aliases" [...] action local_mail maildir alias <aliases> [...] match from any for domain "list.athome.tld" action local_mail
It is important that action ("local_mail" here) handle aliases.
That's why you must edit "/etc/mail/aliases" to send to mlmmj incoming messages for the mailing list:
pizza:"|/usr/local/bin/mlmmj-receive -L /var/spool/mlmmj/pizza/"
End with "newaliases" command or restart smtpd.
Customize a list
You can customize a list by editing the files in "/var/spool/mlmmj/pizza/control".
If files don't exist, just create them.
You can filter incoming messages depending on the sender, force plaintext, use custom text in templates, modify headers to keep users privacy and much more.