postfix не доставляет почту alias'ам

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

postfix не доставляет почту alias'ам

Непрочитанное сообщение goshanecr » 2011-06-04 11:44:17

Добрый день товарищи!
Подскажите пожалуйста, в чём дело.
Настроил postfix с виртуальными пользователями в mysql
main.cf

Код: Выделить всё

myhostname                      = mx.mydomain.ru
mydomain                        = mydomain.ru
myorigin                        = $mydomain
inet_interfaces                 = all
mydestination                   = $mydomain
mynetworks                      = 127.0.0.0/8, 192.168.4.0/24, 192.168.5.0/24, 192.168.7.0/24
alias_database                  = hash:/usr/local/etc/postfix/aliases
$alias_maps                     = $alias_database

smtpd_sasl_auth_enable          = yes
smtpd_sasl_type                 = cyrus
#smtpd_sasl2_auth_enable = yes
#smtpd_sasl_authenticated_header = yes
smtpd_sasl_path                 = smtpd
smtpd_sasl_security_options     = noanonymous
smtpd_sasl_local_domain         = $mydomain
broken_sasl_auth_clients        = yes


#smtpd_sasl_auth_enable         = yes
#smtpd_sasl_security_options    = noanonymous
#smtpd_sasl_local_domain                = $mydomain
#broken_sasl_auth_clients       = yes

message_size_limit              = 30000000
mailbox_size_limit              = 500000000

invalid_hostname_reject_code    = 550
non_fqdn_reject_code            = 550
unknown_address_reject_code     = 550
unknown_client_reject_code      = 550
unknown_hostname_reject_code    = 550
unverified_recipient_reject_code= 550
unverified_sender_reject_code   = 550

strict_rfc821_envelopes         = yes
disable_vrfy_command            = yes
smtpd_helo_required             = yes

smtpd_delay_reject              = yes

smtpd_client_restrictions       =
smtpd_helo_restrictions         =
smtpd_sender_restrictions       =
smtpd_recipient_restrictions    =
                                permit_mynetworks,
                                permit_sasl_authenticated,
                                reject_unauth_destination,
                                reject_unauth_pipelining,
check_client_access             = hash:/usr/local/etc/postfix/access_client,
check_client_access             = pcre:/usr/local/etc/postfix/access_client.pcre,
                                reject_unknown_client_hostname,
check_helo_access               = hash:/usr/local/etc/postfix/access_helo,
                                reject_invalid_helo_hostname,
                                reject_non_fqdn_helo_hostname,
                                reject_unknown_helo_hostname,
check_sender_access             = hash:/usr/local/etc/postfix/access_sender,
                                reject_non_fqdn_sender,
                                reject_unknown_sender_domain,
                                reject_unverified_sender,
                                reject_non_fqdn_recipient,
                                reject_unknown_recipient_domain,
                                reject_unverified_recipient,
                                reject_rbl_client cbl.abuseat.org,
                                reject_rbl_client combined.njabl.org,
                                reject_rbl_client dnsbl.njabl.org,
                                reject_rbl_client dul.ru,
                                reject_rbl_client dynablock.njabl.org,
                                reject_rbl_client opm.blitzed.org,
                                reject_rhsbl_client blackhole.securitysage.com,
                                reject_rhsbl_client rhsbl.sorbs.net,
                                reject_rhsbl_sender blackhole.securitysage.com,
                                reject_rhsbl_sender rhsbl.sorbs.net,
                                permit

smtpd_etrn_restrictions         =
                                permit_mynetworks,
                                reject

header_checks                   = regexp:/usr/local/etc/postfix/header_checks
mime_header_checks              = regexp:/usr/local/etc/postfix/mime_header_checks

content_filter                  = smtp-amavis:[127.0.0.1]:10024
receive_override_options        = no_address_mappings

transport_maps                  = mysql:/usr/local/etc/postfix/mysqlLookupMaps/transport.conf
virtual_alias_maps              = mysql:/usr/local/etc/postfix/mysqlLookupMaps/alias.conf
virtual_mailbox_domains         = mysql:/usr/local/etc/postfix/mysqlLookupMaps/domain.conf
virtual_mailbox_base            = /var/spool/mail
virtual_mailbox_maps            = mysql:/usr/local/etc/postfix/mysqlLookupMaps/mailbox.conf
virtual_mailbox_limit_maps      = mysql:/usr/local/etc/postfix/mysqlLookupMaps/quota.conf
virtual_maildir_extended        = yes
virtual_mailbox_limit_override  = yes
virtual_uid_maps                = mysql:/usr/local/etc/postfix/mysqlLookupMaps/uids.conf
virtual_gid_maps                = mysql:/usr/local/etc/postfix/mysqlLookupMaps/gids.conf
alias.conf

Код: Выделить всё

user            = postfixuser
password        = password
hosts           = localhost
dbname          = postfixdb
table           = alias
select_field    = goto
where_field     = address
И при попытке прислать почту на алиас, в логе ошибки:

Код: Выделить всё

Jun  4 14:32:09 BSD-FSU postfix/smtpd[96866]: 43986356F5E7: client=localhost[127.0.0.1]
Jun  4 14:32:09 BSD-FSU postfix/cleanup[96861]: 43986356F5E7: message-id=<1306341307176330@web153.yandex.ru>
Jun  4 14:32:09 BSD-FSU postfix/qmgr[96789]: 43986356F5E7: from=<mymail@yandex.ru>, size=2345, nrcpt=1 (queue active)
Jun  4 14:32:09 BSD-FSU postfix/smtpd[96866]: disconnect from localhost[127.0.0.1]
Jun  4 14:32:09 BSD-FSU postfix/trivial-rewrite[96860]: warning: do not list domain mydomain.ru in BOTH mydestination and virtual_mailbox_domains
Jun  4 14:32:09 BSD-FSU amavis[95835]: (95835-08) Passed CLEAN, [95.108.130.119] [93.74.18.130] <mymail@yandex.ru> -> <alias@mydomain.ru>, Message-ID: <1306341307176330@web153.yandex.ru>, mail_id: aJjb4-EMUofo, Hits: 2.182, size: 1611, queued_as: 43986356F5E7, 1371 ms
Jun  4 14:32:09 BSD-FSU postfix/smtp[96862]: D4E02356F5E6: to=<alias@mydomain.ru>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.4, delays=0.06/0/0.01/1.4, dsn=2.0.0, status=sent (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 43986356F5E7)
Jun  4 14:32:09 BSD-FSU postfix/qmgr[96789]: D4E02356F5E6: removed
Jun  4 14:32:09 BSD-FSU postfix/virtual[97081]: 43986356F5E7: to=<alias@mydomain.ru>, relay=virtual, delay=0.05, delays=0.02/0.02/0/0.01, dsn=5.1.1, status=bounced (unknown user: "alias@mydomain.ru")
Jun  4 14:32:09 BSD-FSU postfix/cleanup[96861]: 4F062356F5E9: message-id=<20110604083209.4F062356F5E9@mx.mydomain.ru>
Jun  4 14:32:09 BSD-FSU postfix/bounce[96869]: 43986356F5E7: sender non-delivery notification: 4F062356F5E9
Jun  4 14:32:09 BSD-FSU postfix/qmgr[96789]: 4F062356F5E9: from=<>, size=4216, nrcpt=1 (queue active)
Jun  4 14:32:09 BSD-FSU postfix/qmgr[96789]: 43986356F5E7: removed
И мне приходит сообщение о недоставленном сообщении. Включал лог запросов mysql, вот запросы в момент обработки сообщения:

Код: Выделить всё

110604 14:07:01     8 Query     SELECT goto FROM alias WHERE address='yandex.ru'
                    9 Query     SELECT description FROM domain WHERE domain='yandex.ru' and active='1' and backupmx='0'
                   10 Query     SELECT transport FROM domain WHERE domain='mymail@yandex.ru'
                   10 Query     SELECT transport FROM domain WHERE domain='yandex.ru'
                   10 Query     SELECT transport FROM domain WHERE domain='.ru'
                    8 Query     SELECT goto FROM alias WHERE address='mydomain.ru'
                    9 Query     SELECT description FROM domain WHERE domain='mydomain.ru' and active='1' and backupmx='0'
                   10 Query     SELECT transport FROM domain WHERE domain='alias@mydomain.ru'
                   10 Query     SELECT transport FROM domain WHERE domain='mydomain.ru'
                   13 Connect   postfixuser@localhost on postfixdb
                   13 Query     SET NAMES utf8
                   13 Query     SELECT goto FROM alias WHERE address='postmaster@mydomain.ru'
                   13 Query     SELECT goto FROM alias WHERE address='postmaster'
                   13 Query     SELECT goto FROM alias WHERE address='@mydomain.ru'
                    8 Query     SELECT goto FROM alias WHERE address='mydomain.ru'
                    9 Query     SELECT description FROM domain WHERE domain='mydomain.ru' and active='1' and backupmx='0'
                   10 Query     SELECT transport FROM domain WHERE domain='postmaster@mydomain.ru'
                   10 Query     SELECT transport FROM domain WHERE domain='mydomain.ru'
                   14 Connect   postfixuser@localhost on postfixdb
                   14 Query     SET NAMES utf8
                   14 Query     SELECT maildir FROM mailbox WHERE username='postmaster@mydomain.ru' and active='1'
Зачем вообще постфикс запрашивает всю эту мешанину запросов к БД из ошмётков разных частей адресов отправителя и получателя?
Запрос относящийся к алиасу 10 Query SELECT transport FROM domain WHERE domain='alias@mydomain.ru' проверил вручную, выполнил в phpMyAdmin, результатом вполне законно выдался реальный ящик адресата для этого алиаса.

Помогите пожалуйста разрешить эту проблему :)
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: postfix не доставляет почту alias'ам

Непрочитанное сообщение goshanecr » 2011-06-04 13:06:27

Прошу прощения в мешанине SQL запросов неверно кинул сюда тот, который выбирает адресата на основании алиаса:
Он такой 16 Query SELECT goto FROM alias WHERE address='alias@mydomain.ru' в любом случае такой запрос присутствует и он верный, а результата в виде доставленного адресату сообщения нет :)
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

moury
сержант
Сообщения: 249
Зарегистрирован: 2009-02-06 23:02:40
Откуда: Москва
Контактная информация:

Re: postfix не доставляет почту alias'ам

Непрочитанное сообщение moury » 2011-06-05 21:30:19

1. Сделайте, что сказано в пятой строке лога.

2. На время тестирования первым правилом в smtpd_recipient_restrictions поставьте reject_unlisted_recipient .

3. На время тестирования отключите амавис

4. Покажите здесь правило реинжекта от амависа
Сисадмин - вождь апачей