Skip to main content

Recipe to install and setup maildrophost server

Project description

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:

[buildout]
parts =
    maildrophost
    instance

[maildrophost]
recipe = infrae.maildrophost
smtp_host = localhost
smtp_port = 25

[instance]
...
eggs +=
   Products.MaildropHost
zope-conf-additional +=
<product-config maildrophost>
  config-path-application ${maildrophost:maildrophost.cfg}
</product-config>

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).

Settings

You can customize some of settings of MaildropHost:

mail_dir

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.

spool_dir

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

PID file to use for the daemon. By default it will be ${mail_dir}/maildrop.pid.

smtp_host

SMTP server to use. Default to localhost.

smtp_port

Port to use. Default to default SMTP port, 25.

login

If the SMTP server require authentication, login to use.

password

If the SMTP server require authentication, password to use.

tls

If 1, MaildropHost will be speaking to a TLS enabled SMTP server.

batch

Set MAILDROP_BATCH.

add_messageid

Add a message id to the sent mail.

pool_interval

Must be an integer which define the interval in seconds between two check for new mail in the spool directory. Default is 120 seconds.

wait_interval

Must be an interger or float which say how much time the daemon should wait between sending two mails to the mail server.

supervised_daemon

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.

maildrophost.cfg

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 maildrop.py maildrophost.cfg and quits, without waiting to for the maildrop.py script to exit properly. The maildrop.py 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:

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

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

Latest version

The latest version is available in a Subversion repository.

History

2.2 (2013-10-07)

  • Add fg command line option to start the script on the foreground. For best results, combine this with enabling the supervised_daemon option. Patch provided by Maurits van Rees from Zest Software.

2.1 (2013-08-19)

  • Update recipe to include the deamon script itself and update it to work with Python 2.6 and 2.7. This script used to require Python 2.4.

  • Update the start/stop script to be more reliable with the help of psutil.

2.0 (2012-08-23)

  • Update recipe to work with the egg distribution of MaildropHost, still creating the configuration and start/stop script for the daemon in buildout.

1.2 (2009-02-13)

  • Fix download-cache vs download-directory. Don’t assume the user already set it.

  • Add options wait_interval, add_messageid, batch, tls, pid_file, spool_dir, mail_dir.

  • Remove the relative to buildout directory option mail-dir which was almost useless.

  • Improve the control script.

1.1 (2009-01-23)

  • Added support for MaildropHost >= 1.22 (added a version option, so the recipe can guess the config file name)

1.0.1

  • Fix the config file for Windows paths.

1.0

  • Define the location in options, so you could refer to the product folder with ${maildrophost:location} for exemple.

  • Add the target option to use a specific destination folder for the product.

  • Add maildrophost options login, password, and poll_interval.

0.1

  • First release, download and install MaildropHost product, make a config.py and create simple script for start and stop purpose.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

infrae.maildrophost-2.2.tar.gz (12.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page