Crazy simple, Node.js powered, whitelist-only email groups. For humans!
- Node.js & NPM installed on your dev server
- A Mandrill account
- A domain or subdomain with your MX records pointed at Mandrill
- Clone the repo to your dev server.
- Run
npm install - Add and edit your groups in /groups/.yaml
- Deploy to Heroku, Nodejitsu, or your Node hosting service of choice.
- Point Mandrill's Inbound Email (*) wildcard domain route to the public root URL (e.g. http://example-url.com). You can choose to specially add each mailbox route explicity to avoid having exceess email (read: SPAM) hit your server unnecessarily.
- Edit the config.yaml file and add your Mandrill API Key.
Create a group by adding a YAML file to the /groups folder. A file named gamenight.yaml would create the email list gamenight@example.com. The file should contain a title (used in the subject lines) and a list of name/email keys for all the memebers. Here's an example of a group file:
title: Example
members:
-
name: Peter Pevensie
email: peter@example.com
-
name: Susan Pevensie
email: susan@example.com
-
name: Edmund Pevensie
email: edmund@example.com
-
name: Lucy Pevensie
email: lucy@example.comOnly emails from people within the group (this is white-listing) will be accepted and routed to the rest of the members. Full HTML/text content will be passed along.
We'll assume you have Submattic running locally already.
Running on Heroku
- Create a Heroku account
- Install the Heroku gem:
gem install herokuor install the Heroku Toolbelt - Login
heroku loginand authenticate with your account info - Create the app:
heroku create - Deploy:
git push heroku master - Turn a dyno on to make sure the app is running:
heroku ps:scale web=1 - Visit the app to make sure Submattic is running:
heroku open.
Running on Nodejitsu
- Create a Nodejitsu account
- Install
jitsu, the command line interface for Nodejitsu's platform:npm install jitsu -g - Login
jitsu loginand authenticate with your account info - Deploy:
jitsu deploy. Nodejitsu will ask you for some additional info, like your app's name, subdomain, and start script. The start script isapp.js. - Visit
<yourapp>.nodejitsu.comto make sure everything's running.
