The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
reject unknown recipient (postfix), !*! Mario, 31-Мрт-06, 10:52  [смотреть все]
Как реализовать, чтобы при получении письма для пользователя домена постфикс проверял существует ли такой пользователь, если нет, то отбрасывал соединение!

Вместо того, чтобы всосать письмо, а потом отправить ответку от MAILER-DAEMON'а, что получатель то неизвестен!

  • reject unknown recipient (postfix), !*! jonatan, 11:08 , 31-Мрт-06 (1)
    • reject unknown recipient (postfix), !*! Mario, 11:40 , 31-Мрт-06 (2)
      >По умолчанию postfix так и настроен не принимать почту для несуществующих пользователей.
      >Покажите postconf -n


      alias_database = hash:/etc/postfix/aliases
      alias_maps = hash:/etc/postfix/aliases
      broken_sasl_auth_clients = yes
      command_directory = /usr/local/sbin
      config_directory = /usr/local/etc/postfix
      content_filter = scan:127.0.0.1:10025
      daemon_directory = /usr/local/libexec/postfix
      debug_peer_level = 1
      default_destination_concurrency_limit = 50
      disable_vrfy_command = yes
      home_mailbox = Maildir/
      html_directory = no
      inet_interfaces = all
      local_destination_concurrency_limit = 10
      local_recipient_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/local_recipient.conf
      mail_owner = postfix
      mail_spool_directory = /usr/local/mail
      mailq_path = /usr/local/bin/mailq
      manpage_directory = /usr/local/man
      mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, post.$mydomain
      mydomain = ellada.com.ua
      myhostname = mail.ellada.com.ua
      mynetworks = 223.255.253.0/24, 127.0.0.0/8, 223.255.231.0/24
      mynetworks_style = host
      myorigin = $mydomain
      newaliases_path = /usr/local/bin/newaliases
      notify_classes = delay, policy, protocol, resource, software
      queue_directory = /var/spool/postfix
      readme_directory = no
      receive_override_options = no_address_mappings
      sample_directory = /usr/local/etc/postfix/dist
      sendmail_path = /usr/local/sbin/sendmail
      setgid_group = maildrop
      smtp_always_send_ehlo = yes
      smtp_tls_note_starttls_offer = yes
      smtp_use_tls = yes
      smtpd_banner = $myhostname
      smtpd_helo_required = yes
      smtpd_recipient_restrictions = check_sender_access mysql:/usr/local/etc/postfix/mysqlLookupMaps/permissions.conf, permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, reject_rbl_client bl.spamcop.net
      smtpd_reject_unlisted_recipient = yes
      smtpd_restriction_classes = local, other, all
      smtpd_sasl_auth_enable = yes
      smtpd_sasl_local_domain =
      smtpd_sasl_security_options = noanonymous
      smtpd_tls_auth_only = yes
      smtpd_tls_cert_file = /usr/local/etc/postfix/ssl/smtpd.cert
      smtpd_tls_key_file = /usr/local/etc/postfix/ssl/smtpd.key
      smtpd_tls_loglevel = 1
      smtpd_tls_received_header = yes
      smtpd_use_tls = yes
      transport_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/transport.conf
      unknown_local_recipient_reject_code = 554
      virtual_alias_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/alias.conf
      virtual_create_maildirsize = yes
      virtual_gid_maps = static:1984
      virtual_mailbox_base = /usr/local/mail
      virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysqlLookupMaps/domain.conf
      virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/quota.conf
      virtual_mailbox_limit_override = yes
      virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/mailbox.conf
      virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
      virtual_minimum_uid = 1000
      virtual_overquota_bounce = yes
      virtual_uid_maps = static:1984
      root@bsd# clear
      root@bsd# postconf -n
      alias_database = hash:/etc/postfix/aliases
      alias_maps = hash:/etc/postfix/aliases
      broken_sasl_auth_clients = yes
      command_directory = /usr/local/sbin
      config_directory = /usr/local/etc/postfix
      content_filter = scan:127.0.0.1:10025
      daemon_directory = /usr/local/libexec/postfix
      debug_peer_level = 1
      default_destination_concurrency_limit = 50
      disable_vrfy_command = yes
      home_mailbox = Maildir/
      html_directory = no
      inet_interfaces = all
      local_destination_concurrency_limit = 10
      local_recipient_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/local_recipient.conf
      mail_owner = postfix
      mail_spool_directory = /usr/local/mail
      mailq_path = /usr/local/bin/mailq
      manpage_directory = /usr/local/man
      mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, post.$mydomain
      mydomain = ellada.com.ua
      myhostname = mail.ellada.com.ua
      mynetworks = 223.255.253.0/24, 127.0.0.0/8, 223.255.231.0/24
      mynetworks_style = host
      myorigin = $mydomain
      newaliases_path = /usr/local/bin/newaliases
      notify_classes = delay, policy, protocol, resource, software
      queue_directory = /var/spool/postfix
      readme_directory = no
      receive_override_options = no_address_mappings
      sample_directory = /usr/local/etc/postfix/dist
      sendmail_path = /usr/local/sbin/sendmail
      setgid_group = maildrop
      smtp_always_send_ehlo = yes
      smtp_tls_note_starttls_offer = yes
      smtp_use_tls = yes
      smtpd_banner = $myhostname
      smtpd_helo_required = yes
      smtpd_recipient_restrictions = check_sender_access mysql:/usr/local/etc/postfix/mysqlLookupMaps/permissions.conf, permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, reject_rbl_client bl.spamcop.net
      smtpd_reject_unlisted_recipient = yes
      smtpd_restriction_classes = local, other, all
      smtpd_sasl_auth_enable = yes
      smtpd_sasl_local_domain =
      smtpd_sasl_security_options = noanonymous
      smtpd_tls_auth_only = yes
      smtpd_tls_cert_file = /usr/local/etc/postfix/ssl/smtpd.cert
      smtpd_tls_key_file = /usr/local/etc/postfix/ssl/smtpd.key
      smtpd_tls_loglevel = 1
      smtpd_tls_received_header = yes
      smtpd_use_tls = yes
      transport_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/transport.conf
      unknown_local_recipient_reject_code = 554
      virtual_alias_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/alias.conf
      virtual_create_maildirsize = yes
      virtual_gid_maps = static:1984
      virtual_mailbox_base = /usr/local/mail
      virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysqlLookupMaps/domain.conf
      virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/quota.conf
      virtual_mailbox_limit_override = yes
      virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/mailbox.conf
      virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
      virtual_minimum_uid = 1000
      virtual_overquota_bounce = yes
      virtual_uid_maps = static:1984

      • reject unknown recipient (postfix), !*! Mario, 11:44 , 31-Мрт-06 (3)
        ошибся, два раза подряд вывел :)
        вот так правильно

        alias_database = hash:/etc/postfix/aliases
        alias_maps = hash:/etc/postfix/aliases
        broken_sasl_auth_clients = yes
        command_directory = /usr/local/sbin
        config_directory = /usr/local/etc/postfix
        content_filter = scan:127.0.0.1:10025
        daemon_directory = /usr/local/libexec/postfix
        debug_peer_level = 1
        default_destination_concurrency_limit = 50
        disable_vrfy_command = yes
        home_mailbox = Maildir/
        html_directory = no
        inet_interfaces = all
        local_destination_concurrency_limit = 10
        local_recipient_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/local_recipient.conf
        mail_owner = postfix
        mail_spool_directory = /usr/local/mail
        mailq_path = /usr/local/bin/mailq
        manpage_directory = /usr/local/man
        mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, post.$mydomain
        mydomain = ellada.com.ua
        myhostname = mail.ellada.com.ua
        mynetworks = 223.255.253.0/24, 127.0.0.0/8, 223.255.231.0/24
        mynetworks_style = host
        myorigin = $mydomain
        newaliases_path = /usr/local/bin/newaliases
        notify_classes = delay, policy, protocol, resource, software
        queue_directory = /var/spool/postfix
        readme_directory = no
        receive_override_options = no_address_mappings
        sample_directory = /usr/local/etc/postfix/dist
        sendmail_path = /usr/local/sbin/sendmail
        setgid_group = maildrop
        smtp_always_send_ehlo = yes
        smtp_tls_note_starttls_offer = yes
        smtp_use_tls = yes
        smtpd_banner = $myhostname
        smtpd_helo_required = yes
        smtpd_recipient_restrictions = check_sender_access mysql:/usr/local/etc/postfix/mysqlLookupMaps/permissions.conf, permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, reject_rbl_client bl.spamcop.net
        smtpd_reject_unlisted_recipient = yes
        smtpd_restriction_classes = local, other, all
        smtpd_sasl_auth_enable = yes
        smtpd_sasl_local_domain =
        smtpd_sasl_security_options = noanonymous
        smtpd_tls_auth_only = yes
        smtpd_tls_cert_file = /usr/local/etc/postfix/ssl/smtpd.cert
        smtpd_tls_key_file = /usr/local/etc/postfix/ssl/smtpd.key
        smtpd_tls_loglevel = 1
        smtpd_tls_received_header = yes
        smtpd_use_tls = yes
        transport_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/transport.conf
        unknown_local_recipient_reject_code = 554
        virtual_alias_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/alias.conf
        virtual_create_maildirsize = yes
        virtual_gid_maps = static:1984
        virtual_mailbox_base = /usr/local/mail
        virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysqlLookupMaps/domain.conf
        virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/quota.conf
        virtual_mailbox_limit_override = yes
        virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/mailbox.conf
        virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
        virtual_minimum_uid = 1000
        virtual_overquota_bounce = yes
        virtual_uid_maps = static:1984

        • reject unknown recipient (postfix), !*! _KAV_, 11:53 , 31-Мрт-06 (4)
        • reject unknown recipient (postfix), !*! jonatan, 12:00 , 31-Мрт-06 (5)
          • reject unknown recipient (postfix), !*! Mario, 12:42 , 31-Мрт-06 (9)
            какова должна быть стурктура relay_recipient_maps ?
            какой sql запрос мне надо составить? просто вернуть список имеющихся адресов?
            • reject unknown recipient (postfix), !*! jonatan, 12:47 , 31-Мрт-06 (10)
              • reject unknown recipient (postfix), !*! Mario, 13:04 , 31-Мрт-06 (12)
                >Если речь о виртуальных пользователях, то
                >postmap -q "string" mysql:/usr/local/etc/postfix/mysqlLookupMaps/mailbox.conf


                сделал так:
                relay_recipient_maps = $virtual_mailbox_maps, $virtual_alias_maps

                однако

                220 mail.domain
                ehlo mario
                250-mail.domain
                250-PIPELINING
                250-SIZE 10240000
                250-ETRN
                250-STARTTLS
                250 8BITMIME
                mail from: mario@domain
                250 Ok
                rcpt to: nonexistent.user@domain
                250 Ok
                data
                354 End data with <CR><LF>.<CR><LF>
                message text
                .
                250 Ok: queued as 427B325
                quit
                221 Bye
                Connection closed by foreign host.

            • reject unknown recipient (postfix), !*! _KAV_, 13:03 , 31-Мрт-06 (11)
              • reject unknown recipient (postfix), !*! Mario, 13:16 , 31-Мрт-06 (14)
                во, получилось! извините, что парил вам головы

                значит что требовалось сделать:
                установить relay_recipient_maps = $virtual_mailbox_maps, $virtual_alias_maps
                и сбросить (закомментировать) transport_maps

                при этом постфикс стал почему то заглядывать в /etc/local/postfix/aliases
                (они у меня не там лежали)

                не могли бы вы пояснить как они вместе с transport_maps относятся к relay_recipient_maps ?

                • reject unknown recipient (postfix), !*! jonatan, 13:27 , 31-Мрт-06 (16)
                  • reject unknown recipient (postfix), !*! Mario, 13:41 , 31-Мрт-06 (17)
                    >Еще раз. Для адресов какого класса Вы настраиваете проверку?
                    >http://www.postfix.org/ADDRESS_CLASS_README.html


                    вообще-то для virtual mailbox domain class
                    а теперь получилось, что для local
                    :)
                    так не пойдет...

                    • reject unknown recipient (postfix), !*! jonatan, 13:45 , 31-Мрт-06 (18)
                      • reject unknown recipient (postfix), !*! Mario, 15:05 , 31-Мрт-06 (19)
                        >1. Если почта хранится локально, то закомментируйте transport_maps.
                        >2. Все, что Вам нужно для начала - правильно настроить следующие параметры
                        >
                        >virtual_alias_maps
                        >virtual_mailbox_domains
                        >virtual_mailbox_maps


                        что-то я совсем запутался, документация уже просветления не приносит
                        вроде настроил, получился такой вот конфиг

                        alias_database = hash:/etc/local/postfix/aliases
                        alias_maps = hash:/etc/local/postfix/aliases

                        broken_sasl_auth_clients = yes
                        command_directory = /usr/local/sbin
                        config_directory = /usr/local/etc/postfix
                        content_filter = scan:127.0.0.1:10025
                        daemon_directory = /usr/local/libexec/postfix
                        debug_peer_level = 1
                        default_destination_concurrency_limit = 50
                        disable_vrfy_command = yes
                        home_mailbox = Maildir/
                        html_directory = no
                        inet_interfaces = all
                        local_destination_concurrency_limit = 10

                        mail_owner = postfix
                        mail_spool_directory = /usr/local/mail
                        mailq_path = /usr/local/bin/mailq
                        manpage_directory = /usr/local/man

                        mydestination = localhost
                        mydomain = domain.com.ua
                        myhostname = mail.domain.com.ua
                        mynetworks = 223.255.253.0/24, 127.0.0.0/8, 223.255.231.0/24
                        mynetworks_style = host
                        myorigin = $mydomain

                        newaliases_path = /usr/local/bin/newaliases
                        notify_classes = delay, policy, protocol, resource, software
                        queue_directory = /var/spool/postfix
                        readme_directory = no

                        receive_override_options = no_address_mappings
                        relay_recipient_maps = $virtual_mailbox_maps, $virtual_alias_maps

                        sample_directory = /usr/local/etc/postfix/dist
                        sendmail_path = /usr/local/sbin/sendmail
                        setgid_group = maildrop

                        smtp_always_send_ehlo = yes
                        smtp_tls_note_starttls_offer = yes
                        smtp_use_tls = yes
                        smtpd_banner = $myhostname
                        smtpd_helo_required = yes

                        smtpd_recipient_restrictions =
                          check_sender_access mysql:/usr/local/etc/postfix/mysqlLookupMaps/permissions.conf,
                          permit_sasl_authenticated,
                          permit_mynetworks,
                          reject_non_fqdn_hostname,
                          reject_non_fqdn_sender,
                          reject_non_fqdn_recipient,
                          reject_unauth_destination,
                          reject_unauth_pipelining,
                          reject_invalid_hostname,
                          reject_rbl_client bl.spamcop.net

                        smtpd_restriction_classes = local, other, all

                        smtpd_sasl_auth_enable = yes
                        smtpd_sasl_local_domain =
                        smtpd_sasl_security_options = noanonymous

                        smtpd_tls_auth_only = yes
                        smtpd_tls_cert_file = /usr/local/etc/postfix/ssl/smtpd.cert
                        smtpd_tls_key_file = /usr/local/etc/postfix/ssl/smtpd.key
                        smtpd_tls_loglevel = 1
                        smtpd_tls_received_header = yes
                        smtpd_use_tls = yes

                        virtual_alias_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/alias.conf
                        virtual_create_maildirsize = yes
                        virtual_gid_maps = static:1984
                        virtual_mailbox_base = /usr/local/mail
                        virtual_mailbox_domains = domain.com.ua
                        virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/quota.conf
                        virtual_mailbox_limit_override = yes
                        virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/mailbox.conf
                        virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
                        virtual_minimum_uid = 1000
                        virtual_overquota_bounce = yes
                        virtual_uid_maps = static:1984

                        при несуществующем пользователе получаю
                        550 Recipient address rejected: User unknown in virtual mailbox table

                        класс адресов - virtual mailboxes
                        еще меня смущает $mydestination

                        да и вообще как на ваш взгляд такая конфигурация?

                        • reject unknown recipient (postfix), !*! jonatan, 15:26 , 31-Мрт-06 (20)
                        • reject unknown recipient (postfix), !*! Mario, 15:51 , 31-Мрт-06 (21)
                          >>при несуществующем пользователе получаю
                          >>550 Recipient address rejected: User unknown in virtual mailbox table
                          >Т.е. все работает?
                          >>класс адресов - virtual mailboxes
                          >>еще меня смущает $mydestination
                          >Оставьте default (закомментируйте его).
                          >>да и вообще как на ваш взгляд такая конфигурация?
                          >Не понятно зачем
                          >relay_recipient_maps = $virtual_mailbox_maps, $virtual_alias_maps
                          >Это лучше указывать для smtpd в master.cf
                          >receive_override_options = no_address_mappings


                          да действительно не понятно :) убрал
                          receive_override_options перенес в master.cf

                          спасибо огромное, очень сильно помогли
                          раздобыл "The Book Of Postfix" Ralf Hildebrandt & Patrick Koetter (2005) буду читать до просветления!

                        • reject unknown recipient (postfix), !*! jonatan, 15:55 , 31-Мрт-06 (22)
                        • reject unknown recipient (postfix), !*! Mario, 17:07 , 31-Мрт-06 (23)
                          >>спасибо огромное, очень сильно помогли
                          >>раздобыл "The Book Of Postfix" Ralf Hildebrandt & Patrick Koetter (2005) буду
                          >>читать до просветления!
                          >Я бы тоже с удовольствием почитал :)
                          нет проблем, напишите мне на CombatPenguin@gmail.com ;)
                          или icq: 169615561




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру