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 [email protected]
. 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: [email protected]
-
name: Susan Pevensie
email: [email protected]
-
name: Edmund Pevensie
email: [email protected]
-
name: Lucy Pevensie
email: [email protected]
Only 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 heroku
or install the Heroku Toolbelt - Login
heroku login
and 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 login
and 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.com
to make sure everything's running.