A mailing list server in ruby. Easy to setup.
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.
 
 
 
 
Arthur POULET 2585f58c69
Remove now useless dependencies semver, colorize
1 week ago
bin Improve DB migrations 1 week ago
db/migrations Improve DB migrations 1 week ago
deploy Add some infos for deploying service 1 week ago
lib Improve DB migrations 1 week ago
test Improve logging and coding style 1 week ago
.gitignore Add lots of documentation for the Protocols 1 week ago
.ruby-version Add ruby version 1 week ago
Gemfile Improve DB migrations 1 week ago
Gemfile.lock Remove now useless dependencies semver, colorize 1 week ago
README.md Update readme 1 week ago
Rakefile Add unit tests 1 week ago
empty.env Add refuse/validate modo actions 1 week ago

README.md

mailinglist.rb

Features

  • Receive new message and send it
  • Have a database of mailinglists with name and users
  • Web interface to access archives
  • ACL to restrict interactions with the system
  • Install documentation
  • Systemd service
  • AUR package
  • Configuration for everything
  • Robust codebase for extensibility
  • Robust network (handle network loss etc.)
  • Inbox cleanup
  • Moderation toolbox and email validation before distribution

Deploy from sources

  • Note there is a sample of systemd service you may use for your server in /deploy/

Download

git clone https://git.sceptique.eu/Sceptique/mailinglist.rb --depth 1
cd mailinglist.rb

Install dependencies

System dependencies: ruby 3.1.2, sqlite3

bundle install

Configure

Copy and fill all the env variables in .env

cp empty.env .env
edit .env

Setup the database

bin/db_migrate

Start

You may test it with

bin/distributor

Dev & play localy

After deploying it, there are some tools:

  • bin/db_seed to generate some data

Contributing

via Gitea

  1. Fork it (https://git.sceptique.eu/Sceptique/mailinglistrb)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

via emails

Checkout git-send-mail tutorial https://git-send-email.io/

  1. Clone it (https://git.sceptique.eu/Sceptique/mailinglistrb)
  2. Commit your changes (git commit -am 'Add some feature')
  3. Send your email to mailto:list.mailinglistrb@sceptique.eu