On our old server that doesn't do any Virtual Domains, we have lines in our
/etc/alias which look like the following:

usera: "|/export/home/users/usera/blah/script.pl"

I just recently set up Postfix with Virtual Domains using a MySQL backend.
All aliases which forward to another mail account work just fine.

I added the following line per the Postfix documentation to /etc/postfix/
main.cf:
virtual_transport = maildrop:

I uncommented the two lines for maildrop in /etc/postfix/master.cf so
maildrop would be available for use.

MySQL table looks like this:

address                          goto
domain              date created                 date
modified                active
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
us...@domain1.com      "|/home/users/blah/script.pl"      domain1.com
2009-03-01 00:05:05      2009-03-01 00:05:05      1

When sending an email to us...@domain.com, I get the following message in
the error logs:

Mar  3 17:54:18 hostname postfix/local[32599]: 6A68B2FBDA:
to=<|/home/users/blah/script...@hostname.domain.com>, orig_to=<
us...@domain1.com>, relay=local, delay=0.07, delays=0.05/0.01/0/0.01,
dsn=5.1.1, status=bounced (unknown user: "|/home/users/blah/script.pl")

postconf -n shows this:

alias_database = hash:/etc/postfix/aliases
alias_maps = $alias_database
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
disable_vrfy_command = no
html_directory = no
inet_interfaces = all
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailbox_size_limit = 0
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, $transport_maps
mydomain = hostname
myhostname = hostname.domain.com
mynetworks = 127.0.0.0/24
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
recipient_delimiter = +
relayhost =
sample_directory = /usr/share/doc/postfix-2.3.3/samples
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_tls_note_starttls_offer = yes
smtp_use_tls = yes
smtpd_banner = $myhostname
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks,
reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = /var/spool/postfix/private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_CAfile = /etc/postfix/ssl/mailserver/cacert.pem
smtpd_tls_key_file = /etc/postfix/ssl/mailserver/smtpd.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = no
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
unknown_local_recipient_reject_code = 450
virtual_alias_maps = mysql:$config_directory/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:10000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = mysql:$config_directory/
mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:$config_directory/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 10000
virtual_transport = maildrop:
virtual_uid_maps = static:10000

I'll mention that I'm using Postfix Admin to manage these domains, however
using it to create aliases to a script is not necessary.  I just need a way
for it to work.  I do need the ability to continue using Postfix Admin for
managing standard aliases and e-mail addresses.

Thanks in advance.

Reply via email to