Skip to content

kulo/dyson

Repository files navigation

dyson - an absorbing SMTP server

Version 1.1, 2010-09-04

This software is distributed under the terms of the FSF Lesser Gnu Public License (version 3, see COPYING.LESSER and COPYING). Since the LGPL is a set of additional permissions on top of the GPL this license is also included in the file 'COPYING'.

Maintainer: Michael Kulovits

What is dyson?

Dyson's a simple mail server whose sole aim is to receive mails over the SMTP protocol and to store them persistently as quickly as possible (sic!).

The name "dyson" is inspired by Freeman Dyson and his theory of a Dyson Sphere, i.e. a structure that is meant to completely encompass a star and capture most or all of its energy output. Think of the dyson MTA as a dyson sphere for mailing environments.

How to build dyson?

$> sbt update ## only one time to update sbt

$> sbt clean compile package jarjar

Dependencies & Requirements

  • java sdk & vm 1.6.0 or higher
  • sbt 0.7.4 or higher
  • TODO

How to run dyson?

inside sbt:

$> sbt run

using the standalone jarjar:

$> ./dyson.sh

see the javadocs of com.emarsys.Dyson for further details like cmd-line options and (optional) configuration files.

TODOs, Open and Known Issues

Dependencies

emarsys commons library: eCommon

The emarsys commons library eCommon is a static dependency via /lib/ecommon-DYSON.jar. eCommon will be released under the LGPL on github later this year

Build System

Dyson's build system has been migrated from maven (and buildr) to SBT. This transition is not yet done and thus there are a couple of issues:

  1. The whole build system configuration and plugins (see /project/build/*.scala) is copy pasted from internal emarsys projects. Reusable parts of dyson's build system have to be refactored into a free "emarsys project plugin" project. this is unlikely to happen before the LGPL release of ecommon.
  2. TestNG test execution is not working via sbt. There is a custom SBT plugin (see /project/build/TestNGTestingProject.scala) which is currently not working. Either fix the SBT TestNG plugin or migrate the test case(s) to ScalaTest.
  3. Javadoc generation via sbt does not work. scaladoc is insufficient.
  4. Eclipse integration is very basic. Dyson's got its own version of the SBT plugin Eclipsify which creates Eclipse's .project and .classpath files but for instance lacks the incllacks the inclusion of the JRE libs, etc. etc.

Logging

Dyson's RESTlet server's logging is not integrated with dyson's logging concept. The restlet engine logs via java.util.logging. It should be possible to integrate via slf4j's bridge, see http://www.slf4j.org/legacy.html.

About

An absorbing SMTP server for testing purposes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors