LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Server
User Name
Password
Linux - Server This forum is for the discussion of Linux Software used in a server related context.

Notices



Reply
 
Search this Thread
Old 02-11-2010, 07:41 AM   #1
Patric.F
LQ Newbie
 
Registered: Feb 2010
Posts: 26

Rep: Reputation: 0
Postfix transport


Hi!

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.

Code:
DNS example.com -> 192.168.0.1 (to my server, spamcheck)
DNS smtp.example.com -> 192.168.0.2 (mailserver, where the mail ends up)
Mail to example.com --> my server, get spamchecked, send to --> smtp.example.com
If you understand what I mean!?

Anyway, I put this in /etc/postfix/transport:
Code:
example.com     smtp:[smtp.example.com]
and run
Code:
postmap transport
And I get this in the log:
Code:
Feb 11 11:49:38 example.com postfix/smtpd[24775]: NOQUEUE: reject: RCPT from blu0-omc2-s8.blu0.hotmail.com[65.55.111.83]: 550 5.1.1 <test@example.com>: Recipient address rejected: User unknown in virtual mailbox table; from=<test@hotmail.com> to=<test@example.com> proto=ESMTP helo=<blu0-omc2-s8.blu0.hotmail.com>
So it checks my database if the test@example.com exists, which it doesn't because its on smtp.example.com 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/main.cf looks like this:
Code:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
#delay_warning_time = 4h
myhostname = mail.example.com
myorigin = example.com
mydestination = localhost
relayhost =
mynetworks = 127.0.0.0/8 10.0.0.0/24
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/mysql_virtual_domains_maps.cf
virtual_mailbox_base = /usr/local/vmail
virtual_mailbox_maps = proxy:mysql:$config_directory/mysql/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = proxy:mysql:$config_directory/mysql/mysql_virtual_alias_maps.cf
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
content_filter=smtp-amavis:[127.0.0.1]:10024
receive_override_options=no_address_mappings
I really need help here so I appreciate any response.
Thanks!

Edit:
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:

/etc/postfix/master.cf

Code:
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/postfix-to-mailman.py
  ${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

127.0.0.1:10025 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=127.0.0.0/8,10.0.0.0/24
  -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
mysql_virtual_mailbox_maps.cf:
Code:
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 08:44 AM.
 
Old 02-11-2010, 07:02 PM   #2
auximini
Member
 
Registered: Dec 2003
Location: Calgary, AB
Distribution: Any!
Posts: 146

Rep: Reputation: 18
It looks like Postfix thinks it is hosting mail for example.com. I would try two things:

1. Tell / Allow Postfix to relay mail for example.com by adding the following to main.cf:

Code:
relay_domains = example.com
2. Make sure there is nothing in the MySQL configuration that says your mail gateway is hosting mail for example.com. 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, 02:27 AM   #3
Patric.F
LQ Newbie
 
Registered: Feb 2010
Posts: 26

Original Poster
Rep: Reputation: 0
I tried adding:
Code:
relay_domains = example.com
but it didn't help, I still get the same message.
So I looked around little in the postfix documentation and found:

Quote:
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 master.cf. 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 master.cf -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, 08:43 AM   #4
Patric.F
LQ Newbie
 
Registered: Feb 2010
Posts: 26

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, 10:25 AM   #5
auximini
Member
 
Registered: Dec 2003
Location: Calgary, AB
Distribution: Any!
Posts: 146

Rep: Reputation: 18
Hello,

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, 01:13 PM   #6
Patric.F
LQ Newbie
 
Registered: Feb 2010
Posts: 26

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


Reply


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 12:15 PM
Postfix and Transport.cf i56kfm Linux - Newbie 1 06-19-2008 02:33 PM
Postfix Transport Suspended Maeltor Linux - Software 4 07-06-2006 12:28 PM
Postfix: slow transport? Chowroc Linux - Networking 0 02-04-2006 03:49 AM
Postfix transport problems BarrySharpen Linux - Networking 1 12-02-2004 06:36 PM


All times are GMT -5. The time now is 09:06 AM.

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