Mailing List Manager Deploy a mailing list for your website.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1.6 KiB

MLM

This is just a hobby script, it isn't secure.

Mailman is recommended

Mailing List Manager

  • Deploy a mailing list for your website.

Dependencies

  • bsd-mailx
  • lynx
  • fcgiwrap

Prerequisites

  • You have an email server running. See here
  • You have a website running with nginx reverse proxy

In your nginx configuration file add these lines:

location /ml {
	return 403;
}

location /subscribe.html {
	gzip off;
	include /etc/nginx/fastcgi_params ;
	fastcgi_pass unix:/var/run/fcgiwrap.socket;
	fastcgi_param SCRIPT_FILENAME /var/www/example/ml/subscribe; # Change this
	fastcgi_param QUERY_STRING $query_string;
}

location /unsubscribe.html {
	gzip off;
	include /etc/nginx/fastcgi_params ;
	fastcgi_pass unix:/var/run/fcgiwrap.socket;
	fastcgi_param SCRIPT_FILENAME /var/www/example/ml/unsubscribe; # Change this
	fastcgi_param QUERY_STRING $query_string;
}
  • copy over the folder ml (which stands for mailing list) into your webroot
    • cd ml
    • Run chown -R www-data:www-data .
    • Run chmod 644 emails.txt
    • Run chmod 755 on subscribe and unsubscribe

Stop Spam

  • cd /var/log
  • chmod 644 mail.info
  • Now the subscribe script can read if the email recipient wasn't valid and not add it to the mailing list

Usage

mup can be placed in /usr/local/bin and when ran by itself will broadcast your latest announcement, an html post.

When run with an html post argument, mup post.html, it will send out that specific post.

  • Change the placeholder text wherever you see a comment telling you to change it

TODO

  • write a Makefile