Skip to content


Repository files navigation

Project Sandstorm Mailer -- Sending Daemon

The project has been sponsored by Swisscom, and initiated by Web Essentials. Thanks for your support!

This is a tool which adjusts Neos in a way such that it can be used to send Newsletters.

Is is comprised of two parts:

  • a Go Daemon this package which does the actual Mail-Sending
  • a Neos package which provides the User Interface

This repository is containing the Go Daemon which does the mail-sending.

Installation of the mailer-sender

  • The compiled Mailer Deb Package can be found in "sandstorm-newsletter_1.0_i386.deb" next to this README.

  • When installing this package, it will create a system user and group newslettersender under which the newsletter sender will execute.

  • The mailer log can be found in /var/log/sandstorm-newsletter-sender/mailer.log.

  • In order to start the sender, run service sandstorm-newsletter-sender start. If it crashes, it restarts automatically.

  • You can configure the defaults in /etc/default/sandstorm-newsletter-sender, currently with the following ones being supported:

    • AUTH_TOKEN -- must be set to a random "password"; and the exact same key must be defined inside Neos Setting as "Sandstorm.Newsletter.auth_token" so that Neos can connect to the mailer.

    • REDIS_URL (defaults to localhost:6379)

    • SMTP_URL (defaults to localhost:25)

    • The backend server currently listens on localhost:3000 -- this currently cannot be changed (but it should be changeable)

Development Setup

The following instructions have been tested using Go 1.6.

# Ensure you have a working go installation and gopath is set:
echo $GOPATH

# clone the mailer daemon and its dependencies
go get

# Try to run the mailer. should start up, but display an error about AUTH_TOKEN not being set.

# To run the tests, do the following:
cd $GOPATH/src/

To run the mailer during development, do the following:

cd $GOPATH/src/

Generating Production Build

# initial setup
cd $GOPATH/src/
brew install gnu-tar
bundle install
go get
$GOPATH/bin/gox -build-toolchain

# actual build: