I configure postfix to receive mail for virtual users. I keep users in mysql, but when I try to send an email to a user from the database, I get an error (I send it with gmail). Users from the OS letters are sent normally.

error from Google Mail:

Delivery to the following recipient failed permanently: john@my.ip.add.ress.xip.io Technical details of permanent failure: Google tried to deliver your message, but it was rejected by the server for the recipient domain my.ip.add.ress.xip.io by my.ip.add.ress.xip.io. [my.ip.add.ress]. The error that the other server returned was: 550 5.1.1 <john@my.ip.add.ress.xip.io>: Recipient address rejected: User unknown in local recipient table 

file /etc/postfix/main.cf:

 # 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 = no # TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.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. smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination myhostname = my.ip.add.ress.xip.io # alias_maps = hash:/etc/aliases #virtual_alias_maps = hash:/etc/postfix/virtual #alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = my.ip.add.ress.xip.io, N-PC, localhost.localdomain, localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf 

instead of my.ip.add.ress naturally my ip address is everywhere. What could be the problem and how is it solved?

    1 answer 1

    first you need to get some diagnostics. like this (option -v - to display detailed information):

     $ /usr/sbin/postmap -vq john@my.ip.add.ress.xip.io \ mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf ... postmap: cfg_get_str: /etc/postfix/mysql-virtual-mailbox-maps.cf: result_format = %s postmap: cfg_get_int: /etc/postfix/mysql-virtual-mailbox-maps.cf: expansion_limit = 0 postmap: cfg_get_str: /etc/postfix/mysql-virtual-mailbox-maps.cf: query = <NULL> postmap: cfg_get_str: /etc/postfix/mysql-virtual-mailbox-maps.cf: table = users postmap: cfg_get_str: /etc/postfix/mysql-virtual-mailbox-maps.cf: select_field = id postmap: cfg_get_str: /etc/postfix/mysql-virtual-mailbox-maps.cf: where_field = id postmap: cfg_get_str: /etc/postfix/mysql-virtual-mailbox-maps.cf: additional_conditions = postmap: cfg_get_str: /etc/postfix/mysql-virtual-mailbox-maps.cf: domain = postmap: cfg_get_str: /etc/postfix/mysql-virtual-mailbox-maps.cf: hosts = localhost postmap: dict_open: mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf postmap: dict_mysql_get_active: attempting to connect to host localhost postmap: dict_mysql: successful connection to host localhost postmap: dict_mysql: successful query from host localhost postmap: dict_mysql_lookup: retrieved 1 rows john@my.ip.add.ress.xip.io 

    This is an example of a successful connection to the database and a successful search for the user john@my.ip.add.ress.xip.io .

    If the connection to the database is successful, but the user is not found, you should double-check that the relevant information in the database and its correctness in /etc/postfix/mysql-virtual-mailbox-maps.cf should be checked.