Outgoing mail : User unknown in virtual mailbox table;

Discussion in 'Installation/Configuration' started by Tramis, Sep 22, 2012.

  1. Tramis

    Tramis New Member

    Hi,

    I have a problem on my mail web server that i installed based on this post: http://www.howtoforge.com/perfect-server-ubuntu-12.04-lts-apache2-bind-dovecot-ispconfig-3.

    When i want to send emails to mailboxes out of my domain i got a message : (mail.log)

    Code:
    Sep 21 20:54:12 mail postfix/smtpd[19056]: connect from unknown[192.168.1.10]
    Sep 21 20:54:26 mail postfix/smtpd[19056]: NOQUEUE: reject: RCPT from unknown[192.168.1.10]: 550 5.1.1 <ecipient address rejected: User unknown in virtual mailbox table; from=<xxxxx.yyyyyyy@wanadoo.fr> to=<uuuuuuu.vvvvvvv@wanadoo.fr> proto=ESMTP helo=<NoonPC>
    Sep 21 20:54:29 mail postfix/smtpd[19056]: disconnect from unknown[192.168.1.10]
    
    I have 3 PC in lan. One is my mail server, the others two are users's PCs. I have my ISP box on my lan that i use as gateway to go on the internet. I want to use my mail server as IMAP server for the two users and be able to send and receive mails (with POP3 and SMTP) to my mailboxes that i have on other sites (like gmail, msn, ISP ...)

    I've followed this post step by step except:
    - SSH Server (no use)
    - Nano (no use)
    - Spamassassin removal (don't see the point in freeing RAM when 4Gb available)
    - PureFTP installation (no use)
    - Mailman installation (no use)
    - Quota (crashed mounting / on boot on last installation)

    Here's my /etc/postfix/main.cf :

    Code:
    # See /usr/share/postfix/main.cf.dist for a commented, more complete version
    
    
    # Debian specific:  Specifying a file name will cause the first
    # line of that file to be used as the name.  The Debian default
    # is /etc/mailname.
    #myorigin = /etc/mailname
    
    smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
    biff = no
    
    # appending .domain is the MUA's job.
    append_dot_mydomain = no
    
    # Uncomment the next line to generate "delayed mail" warnings
    #delay_warning_time = 4h
    
    readme_directory = /usr/share/doc/postfix
    
    # TLS parameters
    smtpd_tls_cert_file = /etc/postfix/smtpd.cert
    smtpd_tls_key_file = /etc/postfix/smtpd.key
    smtpd_use_tls = yes
    smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
    smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
    
    # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
    # information on enabling SSL in the smtp client.
    
    myhostname = mail.tramis.org
    alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
    alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
    myorigin = /etc/mailname
    mydestination = mail.tramis.org, localhost, localhost.localdomain
    relayhost =
    mynetworks = 127.0.0.0/8 [::1]/128
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = all
    html_directory = /usr/share/doc/postfix/html
    virtual_alias_domains =
    virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman
    virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
    virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
    virtual_mailbox_base = /var/vmail
    virtual_uid_maps = static:5000
    virtual_gid_maps = static:5000
    smtpd_sasl_auth_enable = yes
    broken_sasl_auth_clients = yes
    smtpd_sasl_authenticated_header = yes
    smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
    smtpd_tls_security_level = may
    transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
    relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
    relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf
    proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
    smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
    smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
    smtpd_client_message_rate_limit = 100
    maildrop_destination_concurrency_limit = 1
    maildrop_destination_recipient_limit = 1
    virtual_transport = dovecot
    header_checks = regexp:/etc/postfix/header_checks
    mime_header_checks = regexp:/etc/postfix/mime_header_checks
    nested_header_checks = regexp:/etc/postfix/nested_header_checks
    body_checks = regexp:/etc/postfix/body_checks
    owner_request_special = no
    dovecot_destination_recipient_limit = 1
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth
    content_filter = amavis:[127.0.0.1]:10024
    receive_override_options = no_address_mappings
    
    Here's my /etc/postfix/master.cf :

    Code:
    #
    # Postfix master process configuration file.  For details on the format
    # of the file, see the master(5) manual page (command: "man 5 master").
    #
    # Do not forget to execute "postfix reload" after editing this file.
    #
    # ==========================================================================
    # service type  private unpriv  chroot  wakeup  maxproc command + args
    #               (yes)   (yes)   (yes)   (never) (100)
    # ==========================================================================
    smtp      inet  n       -       -       -       -       smtpd
    #smtp      inet  n       -       -       -       1       postscreen
    #smtpd     pass  -       -       -       -       -       smtpd
    #dnsblog   unix  -       -       -       -       0       dnsblog
    #tlsproxy  unix  -       -       -       -       0       tlsproxy
    submission inet n       -       -       -       -       smtpd
      -o syslog_name=postfix/submission
      -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 syslog_name=postfix/smtps
      -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       -       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
    relay     unix  -       -       -       -       -       smtp
    #       -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
    #
    # ====================================================================
    # Interfaces to non-Postfix software. Be sure to examine the manual
    # pages of the non-Postfix software to find out what options it wants.
    #
    # Many of the following services use the Postfix pipe(8) delivery
    # agent.  See the pipe(8) man page for information about ${recipient}
    # and other message envelope options.
    # ====================================================================
    #
    # maildrop. See the Postfix MAILDROP_README file for details.
    # Also specify in main.cf: maildrop_destination_recipient_limit=1
    #
    maildrop  unix  -       n       n       -       -       pipe
      flags=DRhu user=vmail argv=/usr/bin/maildrop -d vmail ${extension} ${recipient} ${user} ${nexthop} ${sender}
    #
    # ====================================================================
    #
    # Recent Cyrus versions can use the existing "lmtp" master.cf entry.
    #
    # Specify in cyrus.conf:
    #   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
    #
    # Specify in main.cf one or more of the following:
    #  mailbox_transport = lmtp:inet:localhost
    #  virtual_transport = lmtp:inet:localhost
    #
    # ====================================================================
    #
    # Cyrus 2.1.5 (Amos Gouaux)
    # Also specify in main.cf: cyrus_destination_recipient_limit=1
    #
    #cyrus     unix  -       n       n       -       -       pipe
    #  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
    #
    # ====================================================================
    # Old example of delivery via Cyrus.
    #
    #old-cyrus unix  -       n       n       -       -       pipe
    #  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
    #
    # ====================================================================
    #
    # 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
    scalemail-backend unix  -       n       n       -       2       pipe
      flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
    mailman   unix  -       n       n       -       -       pipe
      flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
      ${nexthop} ${user}
    
    dovecot   unix  -       n       n       -       -       pipe
      flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}
    amavis unix - - - - 2 smtp
            -o smtp_data_done_timeout=1200
            -o smtp_send_xforward_command=yes
    
    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_client_restrictions=
            -o smtpd_helo_restrictions=
            -o smtpd_sender_restrictions=
            -o smtpd_recipient_restrictions=permit_mynetworks,reject
            -o mynetworks=127.0.0.0/8
            -o strict_rfc821_envelopes=yes
            -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
            -o smtpd_bind_address=127.0.0.1
    
    Any clue about what i've done wrong?

    Regards.
     
  2. Tramis

    Tramis New Member

    I'm adding things:

    I got the error when sending from a mailbox handled by my server to a mailbox handled by my ISP (both are @wanadoo.fr).

    I added the domain wanadoo.fr on my server so i can get the mails from my ISP to my server and then IMAP them from my server to my users PCs.
     
  3. pititis

    pititis Member

    The tutorial is ok for set up an Internet mail server. Your needs are different.

    For receiving mail from your remote mailboxes you must to use fetchmail and for delivery you need one transport per destination.
     
  4. Tramis

    Tramis New Member

    Hi

    I'm receiving mails from ISP mailboxes, the "only" problem is sending mails to theses mailboxes from my server using smtp.
     
  5. Tramis

    Tramis New Member

    Hi,

    Coming back for news.

    Did a fresh new installation following the same Howto and i still can't send any emails outside my LAN.

    Is it normal?

    I configured postfix as an "Internet site with smarthost", filled the "relayhost = " in the postfix main.cf and still impossible to get out.

    I always have this in /var/log/mail.log:


    Sep 28 15:32:46 smtp postfix/smtpd[5913]: 750421022BC: reject: RCPT from Noon-PC.home[192.168.1.10]: 550 5.1.1 <xxxxxxxxxxx@yyyyyyyy.fr>: Recipient address rejected: User unknown in virtual mailbox table; from=<wwwwwwwwww@yyyyyyyy.fr> to=<xxxxxxxxxxx@yyyyyyyy.fr> proto=ESMTP helo=<[192.168.1.10]>


    I tried other installations and that configuration works. Something in this tutorial blocks outside going mails, just can't find what...
     
  6. till

    till Super Moderator Howtoforge Staff HowtoForge Supporter ISPConfig Developer

    Then you haven followed the tutorial correctly as it instructes you to use a different postfix preset, not smarthost.

    If you want to use a smarthost, then you can set this later in ispconfig. Dont edit the main.cf file directly to set a smarthost.
     
  7. Tramis

    Tramis New Member

    Hi,

    Thanks for your answer. I choose "Internet site with smarthost" because i had no answer to my previous posts and tried to make this work.

    If you look at my first post i did not choose any relayhost and emailing out wasn't working neither.

    I tried email routing, relay recipients and almost everything in ISPConfig without success.

    If this configuration isn't meant to send outgoing mails, just tell me i'll stop trying to.

    If i have to buy the ISPConfig documentation, tell me, i'll do it (i haven't seen anything about relays in the old version i bought for V2).

    I just find hard to believe that a "Perfect mail server" can't handle outgoing mails ;)
     
  8. till

    till Super Moderator Howtoforge Staff HowtoForge Supporter ISPConfig Developer

    These settimgs are not relevant for relaying. the Relay settings are under System > Server config > Email.

    According to the postfix error message, you tried to send a email without smtp authentication. So the first step you should do is to enable smtp aurhentication in your mail client, this is a client settings, not a setting of your server or in ispconfig.

    It works on more then hundred thousand servers worldwide that use this setup, so it should work on your servera s well ;) And it does not matter if you use the server on a datacenter or your local lan.
     
  9. Tramis

    Tramis New Member

    Hi again!

    I've just made a fresh installation following the Howto to the letter and i've got this:

    Code:
    Sep 29 04:59:08 mail postfix/submission/smtpd[19795]: connect from unknown[192.168.1.10]
    Sep 29 04:59:08 mail postfix/submission/smtpd[19795]: NOQUEUE: reject: RCPT from unknown[192.168.1.10]: 550 5.1.1 <aaaa@wanadoo.fr>: Recipient address rejected: User unknown in virtual mailbox table; from=<bbbb@wanadoo.fr> to=<aaaa@wanadoo.fr> proto=ESMTP helo=<[192.168.1.10]>
    Sep 29 04:59:09 mail postfix/submission/smtpd[19795]: disconnect from unknown[192.168.1.10]
    wanadoo.fr : is my ISP declared as a domain in ISPconfig3.
    aaaa@wanadoo.fr : is my wife's mailbox not handled (for now) by ISPConfig.
    bbbb@wanadoo.fr : is my mailbox handled by ISPConfig3.

    Here's my postconf -n:
    Code:
    root@mail:/tmp/ispconfig3_install/install# postconf -n
    alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
    alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
    append_dot_mydomain = no
    biff = no
    body_checks = regexp:/etc/postfix/body_checks
    broken_sasl_auth_clients = yes
    config_directory = /etc/postfix
    content_filter = amavis:[127.0.0.1]:10024
    dovecot_destination_recipient_limit = 1
    header_checks = regexp:/etc/postfix/header_checks
    html_directory = /usr/share/doc/postfix/html
    inet_interfaces = all
    mailbox_size_limit = 0
    maildrop_destination_concurrency_limit = 1
    maildrop_destination_recipient_limit = 1
    message_size_limit = 0
    mime_header_checks = regexp:/etc/postfix/mime_header_checks
    mydestination = my.domain.com, localhost, localhost.localdomain
    myhostname = my.domain.com
    mynetworks = 127.0.0.0/8 [::1]/128
    myorigin = /etc/mailname
    nested_header_checks = regexp:/etc/postfix/nested_header_checks
    owner_request_special = no
    proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
    readme_directory = /usr/share/doc/postfix
    receive_override_options = no_address_mappings
    recipient_delimiter = +
    relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
    relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf
    relayhost = smtp.wanadoo.fr
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options =
    smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
    smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
    smtpd_client_message_rate_limit = 100
    smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
    smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_authenticated_header = yes
    smtpd_sasl_path = private/auth
    smtpd_sasl_type = dovecot
    smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
    smtpd_tls_cert_file = /etc/postfix/smtpd.cert
    smtpd_tls_key_file = /etc/postfix/smtpd.key
    smtpd_tls_security_level = may
    smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
    smtpd_use_tls = yes
    transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
    virtual_alias_domains =
    virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman
    virtual_gid_maps = static:5000
    virtual_mailbox_base = /var/vmail
    virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
    virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
    virtual_transport = dovecot
    virtual_uid_maps = static:5000
    postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
    root@mail:/tmp/ispconfig3_install/install# 
    
    I've declared the SMTP relay in System > Server config > Email like you said. :D

    I'm fetching correctly my mail. Still impossible to get outside :confused:

    Edit: I have that problem only on domains that are defined on ISPConfig3. I can send mails outside to other domains. They don't get out if their domain exists in ISPConfig3.
     
    Last edited: Sep 29, 2012
  10. Tramis

    Tramis New Member

    Hi,

    I don't know if i found a bug but here's what i've found on my problem:

    I can't send a mail to a mailbox whose domain if defined on my server but does not exist on it.

    More specifically:
    My ISP is Orange.fr. They were known as Wanadoo.fr years ago. I have mailboxes created with the @wanadoo.fr. If i want to fetch my mail from these boxes i have to define this domain in ISPConfig3 and set a fetchmail task.

    By doing this i can get all my mail on my server. I can send emails to anybody but people that have email adresses ending by @wanadoo.fr. If i do that i have the "User unknown in virtual mailbox table". Sending mails to other users that end with @orange.fr works fine.

    A few days ago i tried building a server "by hand". Mailing the same way was working (the "relayhost=" field in main.cf of postfix is used to send every unknown adresses on the server to an external relay). When i use ISPConfig3 it doesn't. That leaves two possibilities:
    - I have not configured correctly ISPConfig3
    - There is a bug in ISPConfig3

    Does this ring any bells to anybody?
     
  11. till

    till Super Moderator Howtoforge Staff HowtoForge Supporter ISPConfig Developer

    Thare is no such bug in ispconfig, just a misconfiguration on your sever. You can not define a domain of a external mail provider as local domain on your server and you dont need that to fetch emails. Thats not ispconfig specific, if you tell a mail server that it is authoritive for a domain name then it catches all email addresses of that domain an rejects unknown addresses. So you told the server that you are the owner of wanadoo.fr and the server acts like this.

    Thre is no need for such a configuration, if you want to ftch emails from a existing wanadoo.fr account, then use the ftchmail function to get the emails from the pop3 or imap account.
     
  12. Tramis

    Tramis New Member

    And once again the problem was between the keyboard and the chair! :eek:

    Corrected the domains and all works fine.

    Thank you really much for your time helping me :)
     

Share This Page