submattic
submattic copied to clipboard
Crazy simple, Node.js powered, whitelist-only email groups. For humans!
trafficstars
Submattic
Crazy simple, Node.js powered, whitelist-only email groups. For humans!
Requirements
- Node.js & NPM installed on your dev server
- A Mandrill account
- A domain or subdomain with your MX records pointed at Mandrill
Installing
- 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.
Usage
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.
Quick Start guides to hosting Submattic
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.