Visit Jeremy's Blog.
Go Back > Forums > Linux Forums > Linux - Server
User Name
Linux - Server This forum is for the discussion of Linux Software used in a server related context.


  Search this Thread
Old 02-11-2010, 06:41 AM   #1
Registered: Feb 2010
Posts: 45

Rep: Reputation: 0
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'

Last edited by Patric.F; 02-12-2010 at 07:44 AM.
Old 02-11-2010, 06:02 PM   #2
Registered: Dec 2003
Location: Calgary, AB
Distribution: Any!
Posts: 146

Rep: Reputation: 18
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.
Old 02-12-2010, 01:27 AM   #3
Registered: Feb 2010
Posts: 45

Original Poster
Rep: Reputation: 0
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.
Old 02-12-2010, 07:43 AM   #4
Registered: Feb 2010
Posts: 45

Original Poster
Rep: Reputation: 0
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.
Old 02-12-2010, 09:25 AM   #5
Registered: Dec 2003
Location: Calgary, AB
Distribution: Any!
Posts: 146

Rep: Reputation: 18

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.
Old 02-17-2010, 12:13 PM   #6
Registered: Feb 2010
Posts: 45

Original Poster
Rep: Reputation: 0
The problem got fixed after a reboot. Don't know why though..


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Postfix Transport(5) Wheddod Linux - Software 5 10-20-2008 11:15 AM
Postfix and i56kfm Linux - Newbie 1 06-19-2008 01:33 PM
Postfix Transport Suspended Maeltor Linux - Software 4 07-06-2006 11:28 AM
Postfix: slow transport? Chowroc Linux - Networking 0 02-04-2006 02:49 AM
Postfix transport problems BarrySharpen Linux - Networking 1 12-02-2004 05:36 PM > Forums > Linux Forums > Linux - Server

All times are GMT -5. The time now is 02:26 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration