Страница 1 из 1

Postfix: алиасы

Добавлено: 2006-08-17 20:05:48
lexy
Есть домен mydomain.tld, есть два адреса user1@mydomain.tld и user2@mydomain.tld, есть алиас user3@mydomain.tld -> user2@mydomain.tld

отправляю с user1@mydomain.tld на user3@mydomain.tld не работает перенаправление, в лог пишет

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

Aug 17 19:41:45 mail postfix/virtual[92101]: 13CE858209F: to=<user3@mydomain.tld>, relay=virtual, delay=0, status=bounced (unknown user: "user3@mydomain.tld")
Aug 17 19:41:45 mail postfix/virtual[92101]: 1DD74582432: to=<user1@mydomain.tld >, relay=virtual, delay=0, status=sent (delivered to maildir)
к MySql при этом проходят такие запросы:

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

62 Query       SELECT goto FROM alias WHERE address='mydomain.tld'
63 Query       SELECT domain FROM domain WHERE domain = 'mydomain.tld' AND transport = 'virtual'
64 Query       SELECT domain FROM domain WHERE domain = 'mydomain.tld' AND transport <> 'virtual'
61 Query       SELECT transport FROM domain WHERE domain='user1@mydomain.tld'
 61 Query       SELECT transport FROM domain WHERE domain='mydomain.tld'
62 Query       SELECT goto FROM alias WHERE address='mydomain.tld'
63 Query       SELECT domain FROM domain WHERE domain = 'mydomain.tld' AND transport = 'virtual'
64 Query       SELECT domain FROM domain WHERE domain = 'mydomain.tld' AND transport <> 'virtual'
61 Query       SELECT transport FROM domain WHERE domain='user3@mydomain.tld'
61 Query       SELECT transport FROM domain WHERE domain='mydomain.tld'
84 Query       SELECT goto FROM alias WHERE address='user3@mydomain.tld'
62 Query       SELECT goto FROM alias WHERE address='mydomain.tld'
63 Query       SELECT domain FROM domain WHERE domain = 'mydomain.tld' AND transport = 'virtual'
64 Query       SELECT domain FROM domain WHERE domain = 'mydomain.tld' AND transport <> 'virtual'
61 Query       SELECT transport FROM domain WHERE domain='user3@mydomain.tld'
61 Query       SELECT transport FROM domain WHERE domain='mydomain.tld'
85 Query       SELECT maildir FROM mailbox WHERE mbox='user3@mydomain.tld'
85 Query       SELECT maildir FROM mailbox WHERE mbox='@mydomain.tld'
86 Query       SELECT goto FROM alias WHERE address='user1@mydomain.tld'
86 Query       SELECT goto FROM alias WHERE address='@mydomain.tld'
62 Query       SELECT goto FROM alias WHERE address='mydomain.tld'
63 Query       SELECT domain FROM domain WHERE domain = 'mydomain.tld' AND transport = 'virtual'
64 Query       SELECT domain FROM domain WHERE domain = 'mydomain.tld' AND transport <> 'virtual'
61 Query       SELECT transport FROM domain WHERE domain='user1@mydomain.tld'
61 Query       SELECT transport FROM domain WHERE domain='mydomain.tld'
85 Query       SELECT maildir FROM mailbox WHERE mbox='user1@mydomain.tld'
все запросы ручками и через postmap -q проходят на ура
main.cf

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

receive_override_options = no_address_mappings

relay_domains =  mysql:/usr/local/etc/postfix/relay_domains.sql

transport_maps = mysql:/usr/local/etc/postfix/transport.sql

virtual_gid_maps = static:125
virtual_mailbox_base = /var/spool/postfix/virtual/
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/virtual_domains.sql
virtual_mailbox_limit = 51200000
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/virtual_mailbox.sql
virtual_alias_maps = mysql:/usr/local/etc/postfix/aliases.sql
virtual_minimum_uid = 125
virtual_transport = virtual
virtual_uid_maps = static:125
в чем может быть дело?

Добавлено: 2006-08-17 21:00:56
Alex Keda
а ты юзеров как ищешь? надо по таблице альясов...
тогда будет нормально...

Добавлено: 2006-08-18 5:10:15
grave
показывай /usr/local/etc/postfix/aliases.sql и соотвествующую таблицу в бд

Добавлено: 2006-08-18 6:04:35
lexy
cat aliases.sql

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

user = postfix
password = postfix
hosts = 192.168.0.67
dbname = postfix
table = alias
select_field = goto
where_field = address
mysql> select address, goto, domain from alias;

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

+--------------------------+---------------------+-------------------------+
| address                  | goto                | domain                  |
+--------------------------+---------------------+-------------------------+
| user3@mydomain.tld       | user2@mydomain.tld  | mydomain.tld            |
+--------------------------+---------------------+-------------------------+
есть еще одна деталька - система настроена таким образом:
внешний слушатель smtpd -> content-filter clamav -> smtp proxy PopFile -> внутренний smtpd
так письма проходят до PopFile и рубятся на внутреннем smtpd

master.cf (частично)

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

# CLAMAV
smtp      inet  n       -       n       -       -       smtpd

scan    unix    -       -       n       -       16      smtp    -o smtp_send_xfo

#Chain from content filters - внутренний smtpd
127.0.0.1:10026 inet    n       -       n       -       16      smtpd
    -o content_filter=
    -o smtpd_helo_restrictions=
    -o smtpd_client_restrictions=
    -o smtpd_sender_restrictions=
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o mynetworks_style=host
    -o smtpd_autorized_xforward_hosts=127.0.0.0/8

#External interface listener - внешний слушатель
192.168.0.64:10125 inet  n       -       n       -       -       smtpd
        -o myhostname=staff.atletika.ru
        -o proxy_interfaces=*.*.*.*
        -o content_filter=scan:127.0.0.1:10025
        -o smtpd_helo_restrictions=
        -o smtpd_client_restrictions=
        -o smtpd_sender_restriction=

Добавлено: 2006-08-21 10:35:44
lexy
Разные бывают на свете придурки :twisted: , и я - один из них (не худший :shock: )
:lol:

в main.cf вот чего было...
receive_override_options = no_address_mappings

Re: Postfix: алиасы

Добавлено: 2011-03-01 23:46:40
Yevgeniy
А как быть если больше одного адресата, например адрес1: адрес2, адрес3..... и так далее??
Примерно так?

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

+--------------------------+---------------------+-------------------------+
| address                  | goto                | domain                  |
+--------------------------+---------------------+-------------------------+
| user1@mydomain.tld       | user2@mydomain.tld  | mydomain.tld            |
+--------------------------+---------------------+-------------------------+
| user1@mydomain.tld       | user3@mydomain.tld  | mydomain.tld            |
Спасибо