|
|
|
@ -3,12 +3,10 @@ |
|
|
|
################################################## |
|
|
|
# |
|
|
|
# Postfix Admin (Virtual Vacation) |
|
|
|
# by Mischa Peters <mischa at high5 dot net> |
|
|
|
# Originally authored by Mischa Peters <mischa at high5 dot net> |
|
|
|
# Copyright (c) 2002 - 2005 High5! |
|
|
|
# Licensed under GPL for more info check GPL-LICENSE.TXT |
|
|
|
# |
|
|
|
# Modified by: Nicholas Paufler <npaufler at incentre dot net> (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 |
|
|
|
|