infrae.maildrophost is used to configure a maildrophost server and MaildropHost product using the same configuration, and create a management script for the maildrophost server.

In addition to those tasks, it used to download and install MaildropHost when it was not distributed as an egg. If you are looking for those features, please have a look at the version 1.x of this recipe.

Example in buildout:

parts =

recipe = infrae.maildrophost
smtp_host = localhost
smtp_port = 25

eggs +=
zope-conf-additional +=
<product-config maildrophost>
  config-path-application ${maildrophost:maildrophost.cfg}

This will create the configuration file maildrophost.cfg for the daemon, and put a start/stop script in the bin directory of the buildout tree.

Spool and PID files are put by default in the var/maildrop directory, so data is preserved when update (if there is any data).


You can customize some of settings of MaildropHost:

Directory to use as home directory for the deamon. By default it's ${buildout:directory}/var/maildrop It will be created if it doesn't exists.
Directory to use as a spool. By default it will be ${mail_dir}/spool. The directory will be created if it doesn't exist already.
PID file to use for the daemon. By default it will be ${mail_dir}/
SMTP server to use. Default to localhost.
Port to use. Default to default SMTP port, 25.
If the SMTP server require authentication, login to use.
If the SMTP server require authentication, password to use.
If 1, MaildropHost will be speaking to a TLS enabled SMTP server.
Add a message id to the sent mail.
Must be an integer which define the interval in seconds between two check for new mail in the spool directory. Default is 120 seconds.
Must be an interger or float which say how much time the daemon should wait between sending two mails to the mail server.
If 1, the internal maildrop script will remain running in the foreground. This is mostly useful when you start the main maildrophost script itself on the foreground with bin/maildrophost fg. See the Configuration for supervisor section.
Specify an alternative path for storing the generated maildrophost.cfg file. Note that this file gets rewritten each time you run buildout. The default value is ${buildout:directory}/maildrophost.cfg.

Configuration for supervisor

Buildout generates a bin/maildrophost script (if you use maildrophost as the name of the buildout section). When calling bin/maildrophost start this script does some checks and basically calls python maildrophost.cfg and quits, without waiting to for the script to exit properly. The script creates a fork of itself and exits.

This is not helpful when you want to use maildrophost in combination with supervisor. If you want to do that you should enable the supervised_daemon option and let supervisor start the maildrophost script on the foreground. Sample config would be this:

recipe = infrae.maildrophost
smtp_host = localhost
smtp_port = 25
supervised_daemon = 1

recipe = collective.recipe.supervisor
programs =
    40 maildrop ${buildout:directory}/bin/maildrophost [fg] true

Latest version

The latest version is available in a Subversion repository.

Available releases

Release version Release date Release files
infrae.maildrophost 2.2 Oct 7, 2013 2:08:28 PM infrae.maildrophost-2.2.tar.gz
infrae.maildrophost 2.1 Aug 19, 2013 12:51:07 PM infrae.maildrophost-2.1.tar.gz
infrae.maildrophost 2.0 Aug 23, 2012 2:21:05 PM infrae.maildrophost-2.0.tar.gz

License: New BSD