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.