diff --git a/VIRTUAL_VACATION/INSTALL.TXT b/VIRTUAL_VACATION/INSTALL.TXT index ec1c567b..528534c6 100644 --- a/VIRTUAL_VACATION/INSTALL.TXT +++ b/VIRTUAL_VACATION/INSTALL.TXT @@ -3,12 +3,10 @@ ################################################## # # Postfix Admin (Virtual Vacation) -# by Mischa Peters +# Originally authored by Mischa Peters # Copyright (c) 2002 - 2005 High5! # Licensed under GPL for more info check GPL-LICENSE.TXT # -# Modified by: Nicholas Paufler (12/06/2004) -# REQUIRED! --------- @@ -20,12 +18,19 @@ A full list of required modules can be found in the source of vacation.pl. It obviously relies on Perl - About Virtual Vacation ---------------------- -Virtual Vacation is today done with a local shell account that can receive -email. The email is then handled by a Perl script which sends the Vacation -message back to the sender. +The vacation script runs as service within Postfix's master.cf configuration file. +Mail is sent to the vacation service via a transport table mapping. +When users mark themselves as away on vacation, an alias is added to their account +sending a copy of all mail to them to the vacation service. + +e.g. mail to billy@goat.com will be delivered to + billy@goat.com AND + billy#goat.com@autoreply.goat.com + +Mail to @autoreply.goat.com is caught by the vacation.pl script and a reply +will be sent based on various settings. By default a reply is only sent once. Install Virtual Vacation @@ -71,13 +76,16 @@ Which will then look something like: 4. Setup the transport type --------------------- +--------------------------- Define the transport type in the Postfix master file: #/etc/postfix/master.cf: vacation unix - n n - - pipe flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient} +5. Setup the transport maps file +-------------------------------- + Tell Postfix to use a transport maps file, so add the following to your Postfix main.cf: @@ -99,13 +107,6 @@ Execute "postmap /etc/postfix/transport" to build the hashed database. Execute "postfix reload" to complete the change. -5. Create the table -------------------- - -The database table should have already been created for you, by running -the 'upgrade.php' script when installing Postfixadmin. - -If security is an issue for you, read ../DOCUMENTS/Security.txt 6. Configure vacation.pl @@ -132,6 +133,45 @@ b) create /etc/mail/postfixadmin/vacation.conf and enter your settings there $db_username = 'mail'; +7. Check the alias expansion +---------------------------- + +Depending on your setup, you may have multiple 'smtpd' service definitions within +your postfix master.cf file. This is especially the case if you are also using AMAVIS or +another content filtering system when mail is re-injected into Postfix using the smtpd daemon. + +If you are, it's likely that alias expansion may happen more than once, in which case you +may see vacation-style responses duplicated. To suppress this behaviour, you need to add : + + -o receive_override_options=no_address_mappings + +For example : + +smtp inet n - - - 12 smtpd + -o content_filter=amavis:[127.0.0.50]:10024 + + ^^^ Alias expansion occurs here, so we don't want it to happen again for the other smtpd daemon (below) + which receives email out of amavis on port 10025. + +127.0.0.1:10025 inet n - - - - smtpd + -o smtpd_autorized_xforward_hosts=127.0.0.0/8 + -o smtpd_client_restrictions= + -o smtpd_helo_restrictions= + -o smtpd_sender_restrictions= + -o smtpd_recipient_restrictions=permit_mynetworks,reject + -o mynetworks=127.0.0.0/8 + -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_address_mappings + + + +8. Security +----------- + +If security is an issue for you, read ../DOCUMENTS/Security.txt + + + + What do these files do? ----------------------- When a user enables a vacation message on their account, the alias