-   Linux - Server (
-   -   Postfix transport (

Patric.F 02-11-2010 06:41 AM

Postfix transport

I've just installed a new mailserver with Postfix, MySQL, Dovecot and Maia-Mailguard.
I'm also gonna use this server as a "relay" for other servers so their mail gets spam/virus checked om my server and then over to the mailserver with the accounts on it.


DNS -> (to my server, spamcheck)
DNS -> (mailserver, where the mail ends up)
Mail to --> my server, get spamchecked, send to -->

If you understand what I mean!?

Anyway, I put this in /etc/postfix/transport:
Code:    smtp:[]
and run

postmap transport
And I get this in the log:

Feb 11 11:49:38 postfix/smtpd[24775]: NOQUEUE: reject: RCPT from[]: 550 5.1.1 <>: Recipient address rejected: User unknown in virtual mailbox table; from=<> to=<> proto=ESMTP helo=<>
So it checks my database if the exists, which it doesn't because its on where its suppose to deliver to when its checked for spam.

So how/can I do so if the domain exists in transport-file, it doesn't check the database if the user exists and just process the mail and send it away?

My /etc/postfix/ looks like this:

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
#delay_warning_time = 4h
myhostname =
myorigin =
mydestination = localhost
relayhost =
mynetworks =
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
alias_maps = hash:/etc/aliases
transport_maps = hash:/etc/postfix/transport

# Virtual mailbox settings
virtual_mailbox_domains = proxy:mysql:$config_directory/mysql/
virtual_mailbox_base = /usr/local/vmail
virtual_mailbox_maps = proxy:mysql:$config_directory/mysql/
virtual_alias_maps = proxy:mysql:$config_directory/mysql/
virtual_minimum_uid = 150
virtual_uid_maps = static:150
virtual_gid_maps = static:8
virtual_transport = virtual
dovecot_destination_recipient_limit = 1

# SASL Authentication
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

# Maia-Mailguard

I really need help here so I appreciate any response.

I might have to say that my server is a pop3/imap server too, so I already have email accounts on it but I also want so other servers can use it as a spamcheck server.

Edit 2:



smtp      inet  n      -      -      -      -      smtpd
#submission inet n      -      -      -      -      smtpd
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
smtps    inet  n      -      -      -      -      smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
#628      inet  n      -      -      -      -      qmqpd
pickup    fifo  n      -      -      60      1      pickup
cleanup  unix  n      -      -      -      0      cleanup
qmgr      fifo  n      -      n      300    1      qmgr
#qmgr    fifo  n      -      -      300    1      oqmgr
tlsmgr    unix  -      -      -      1000?  1      tlsmgr
rewrite  unix  -      -      -      -      -      trivial-rewrite
bounce    unix  -      -      -      -      0      bounce
defer    unix  -      -      -      -      0      bounce
trace    unix  -      -      -      -      0      bounce
verify    unix  -      -      -      -      1      verify
flush    unix  n      -      -      1000?  0      flush
proxymap  unix  -      -      n      -      -      proxymap
proxywrite unix -      -      n      -      1      proxymap
smtp      unix  -      -      -      -      -      smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay    unix  -      -      -      -      -      smtp
        -o smtp_fallback_relay=
#      -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq    unix  n      -      -      -      -      showq
error    unix  -      -      -      -      -      error
retry    unix  -      -      -      -      -      error
discard  unix  -      -      -      -      -      discard
local    unix  -      n      n      -      -      local
virtual  unix  -      n      n      -      -      virtual
lmtp      unix  -      -      -      -      -      lmtp
anvil    unix  -      -      -      -      1      anvil
scache    unix  -      -      -      -      1      scache

maildrop  unix  -      n      n      -      -      pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
# See the Postfix UUCP_README file for configuration details.
uucp      unix  -      n      n      -      -      pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
# Other external delivery methods.
ifmail    unix  -      n      n      -      -      pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp    unix  -      n      n      -      -      pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
mailman  unix  -      n      n      -      -      pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/
  ${nexthop} ${user}

smtp-amavis unix - - n - 2 smtp
  -o smtp_data_done_timeout=2400
  -o smtp_send_xforward_command=yes
  -o disable_dns_lookups=yes
  -o max_use=100 inet n - - - - smtpd
  -o content_filter=
  -o local_recipient_maps=
  -o relay_recipient_maps=
  -o smtpd_restriction_classes=
  -o smtpd_delay_reject=no
  -o smtpd_client_restrictions=permit_mynetworks,reject
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o mynetworks_style=host
  -o mynetworks=,
  -o strict_rfc821_envelopes=yes
  -o smtpd_error_sleep_time=0
  -o smtpd_soft_error_limit=1001
  -o smtpd_hard_error_limit=1000
  -o smtpd_client_connection_count_limit=0
  -o smtpd_client_connection_rate_limit=0
  -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings

user = postfix
password = secret
hosts = dbserver
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'

auximini 02-11-2010 06:02 PM

It looks like Postfix thinks it is hosting mail for I would try two things:

1. Tell / Allow Postfix to relay mail for by adding the following to


relay_domains =
2. Make sure there is nothing in the MySQL configuration that says your mail gateway is hosting mail for I am not sure if the MySQL config is part of the mail scanning software you installed, but if it is not needed, it might be best to just remove it.

The part of the error that reads "User unknown in virtual mailbox table" makes me believe that there is something in those tables.

Hope that helps.

Patric.F 02-12-2010 01:27 AM

I tried adding:

relay_domains =
but it didn't help, I still get the same message.
So I looked around little in the postfix documentation and found:


virtual_transport (default: virtual)
The default mail delivery transport and next-hop destination for final delivery to domains listed with $virtual_mailbox_domains. This information can be overruled with the transport(5) table.

Specify a string of the form transport:nexthop, where transport is the name of a mail delivery transport defined in The :nexthop destination is optional; its syntax is documented in the manual page of the corresponding delivery agent.
So why doesn't the option in the transport-file overrule the settings to look in the database for the user?
Do I have to do some more configuration?

I edited my first post and added my -file too.

And one more thing. It would be awesome if I could fix so I can save the transport settings in my mysql database instead of in a file, because I am planing on expanding with one more mailserver so they are gonna use the same database information about users and stuff.

Patric.F 02-12-2010 07:43 AM

Somone at the postfix mailing list told me that I had mis-configured the virtual_mailbox_maps though I have no idea what I might have mis-configured..
I added the mysql-config for virtual_mailbox_maps in my first post.

auximini 02-12-2010 09:25 AM


For troubleshooting purposes, maybe try commenting out your virtual mailbox information and see if you get the same error.

Next, try creating a local user with the same name as one of the email addresses you are trying to send through the gateway -- does it get delivered? If so, then it is still an issue with your mail gateway thinking that it hosts mail for that domain.

Patric.F 02-17-2010 12:13 PM

The problem got fixed after a reboot. Don't know why though..

All times are GMT -5. The time now is 10:20 AM.