Skip to content

DerGuteMoritz/hhvacation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hhvacation

This is a drop-in replacement for the apparently no longer maintained hhvacation program included in the GNU Hosting Helper suite.

Differences To The Original Version

This implementation of hhvacation only operates on so called "virtual" vacation responses (i.e. those which are kept in a MySQL database).

Another difference is that it not only checks the To header for vacation responses but also the Cc and Bcc headers.

Warning

Since this program is written in Ruby (i.e. its execution is relatively resource intensive) and Postfix will call it for every mail it delivers, it should not be used on high-volume servers. In any case you should definitely keep an eye on the server load and look for better alternatives. This program is merely a drop-in replacement for existing setups which used the original hhvacation Perl script included in gnuhh which depends on a deprecated MySQL library and thus cannot be run without problems on more recent versions of Perl.

Also note that due to the high probability that this program is mostly used with MySQL databases using the MyISAM storage engine it makes no use of database transactions. This may result in vacation responses being sent multiple times to the same recipient.

Installation

The program is available on rubygems.org thus

gem install hhvacation

should suffice to install it.

Usage

Change your Postfix' master.cf to include a line like:

vacation  unix  -       n       n       -       -       pipe flags=DRhu user=vacation argv=/usr/bin/hhvacation-ruby /etc/hhvacation.yml

The actual settings may vary depending on your setup. The argument passed to the hhvacation-ruby program which is provided by this gem must point to a YAML formatted config file. It must contain the database connection information (see below for an example). Unless configured otherwise, mails are delivered via the default method of the mail gem (SMTP on localhost port 25 for version 2.2.5).

Example config

database:
  host: localhost
  user: root
  password: s3cr3t
  database: mail
  
mail:
  method: sendmail
  location: /usr/local/bin/sendmail

The method setting in the mail section may contain whatever method is available in the mail gem. All further keys are directly passed as settings for the selected method.

Copyright

Copyright (c) 2010 Moritz Heidkamp and Christof Spies. See LICENSE for details.

About

A drop-in replacement for gnuhh hhvacation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages