Добрый день!
Собственно проблема в том, что принимает почту отключённых пользователей. Но не всех , а ка то выборочно.
#uname -a
Linux postmxs 2.6.37.1-1.2-desktop
#cat /etc/issue
Welcome to openSUSE 11.4 "Celadon" - Kernel \r (\l).
#rpm -qa |grep postfix
postfix-mysql-2.7.2-12.3.i586
postfix-2.7.2-12.3.i586Важный кусок main.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks,
reject_invalid_helo_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_helo_hostname,
reject_unknown_helo_hostname,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_destinationmysql_virtual_alias_maps.cf
user = postfix
password = pass
hosts = localhost
dbname = post
table = alias
select_field = goto
where_field = address
additional_conditions = and active = 1
#query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
_____________________________________
Тест №1 - отправляю активному юзеру письмо - удачно принимается и ложится в maildir
mysql> select address,goto,active from alias where address='Dmitry.Volkov';
+---------------+----------+--------+
| address | goto | active |
+---------------+----------+--------+
| Dmitry.Volkov | d_volkov | 1 |
+---------------+----------+--------+Mar 27 16:27:15 postmxs postfix/smtpd[21287]: connect from unknown[10.1.1.1]
Mar 27 16:27:15 postmxs postfix/smtpd[21287]: 6049940074: client=unknown[10.1.1.1]
Mar 27 16:27:18 postmxs postfix/cleanup[22418]: 4C4B540074: message-id=<000001cd0c15$0660dbf0$132293d0$@admin@test.ru>
Mar 27 16:27:18 postmxs postfix/qmgr[2337]: 4C4B540074: from=<admin@test.ru>, size=3288, nrcpt=1 (queue active)
Mar 27 16:27:18 postmxs postfix/smtpd[21287]: disconnect from unknown[10.1.1.1]
и далее в антиспам и в maildir
___________________________________
Тест№2 - отключаю его учётку , отправляю ему письмо - удачно реджектитmysql> select address,goto,active from alias where address='Dmitry.Volkov';
+---------------+----------+--------+
| address | goto | active |
+---------------+----------+--------+
| Dmitry.Volkov | d_volkov | 0 |
+---------------+----------+--------+Вижу - что всё в порядке - письмо отбивает
Mar 27 16:28:03 postmxs postfix/smtpd[21452]: connect from unknown[10.1.1.1]
Mar 27 16:28:03 postmxs postfix/smtpd[21452]: NOQUEUE: reject: RCPT from unknown[10.1.1.1]: 550 5.1.1 <dmitry.volkov@test.ru>: Recipient address rejected: User unknown;
Mar 27 16:28:06 postmxs postfix/smtpd[21452]: disconnect from unknown[10.1.1.1]
______________________________
Тест №3 - отправляю другой отключенной учётке письмо - проблема - почему то принимается
mysql> select address,goto,active from alias where address='laboratory';
+------------+------------+--------+
| address | goto | active |
+------------+------------+--------+
| laboratory | laboratory | 0 |
+------------+------------+--------+
Mar 27 16:46:35 postmxs postfix/smtpd[22827]: 8C63640074: client=unknown[10.1.1.1]
Mar 27 16:46:35 postmxs postfix/cleanup[22854]: 8C63640074: message-id=<000501cd0c17$b84cbb70$28e63250$@admin@test.ru>
Mar 27 16:46:35 postmxs postfix/qmgr[2337]: 8C63640074: from=<admin@test.ru>, size=3282, nrcpt=1 (queue active)
и далее в антиспам и maildir.Прошу нестеснясь в выражениях высказывать свои догадки , домыслы, предположения
кто вас учил задавая вопросы присылать логи выборочно ?
> кто вас учил задавая вопросы присылать логи выборочно ?Письмо должно отшибаться на этапе RCPT TO: - не стал захламлять лишним.
> mysql_virtual_alias_maps.cf
> user = postfix
> password = pass
> hosts = localhost
> dbname = post
> table = alias
> select_field = goto
> where_field = address
> additional_conditions = and active = 1
> #query = SELECT goto FROM alias WHERE address='%s' AND active = '1'Вам еще не отправляли русскую букву с в адресе получателя ?
Я использую:
query = select goto FROM alias WHERE address= CONVERT( _utf8 '%s' USING latin1 ) AND active='1'
+
query = SELECT maildir FROM mailbox WHERE username=CONVERT( _utf8 '%s' USING latin1 ) AND active='1'
в mysql_virtual_mailbox_maps.cf
> additional_conditions = and active = 1
> #query = SELECT goto FROM alias WHERE address='%s' AND active = '1'Эта таблица всего лишь поиск алиасов. Не найдется - значит не будет замены, но письмо пойдет дальше. А уже результат проверки "active=1" в mysql_virtual_mailbox_maps.cf будет говорить "майлбокс (не) найден".
Я думаю, что он паркует письмо, для того, чтобы доставить отскок отправителю. Поскольку почта шлется с test.ru и этот сервер авторитетен за этот домен.