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

Альяс-скрипт для виртуальных пользователей

Добавлено: 2011-03-10 12:06:02
manich
Приветствую Вас,

Имею почтовый сервер: CentOS+Postfix+MySQL+dovecot
Почтовые пользователи создаются в базе MySQL(виртуальные пользователи).
Пример таблицы пользователей:
email password quota
user1@domain.ru crypt(password) 209715200

Псевдонимы(alias) тоже создаются в MySQL.
Пример таблицы псевдонимов:
source destination
root@domain.ru toor@domain.ru

Помогите настроить так, чтобы на принимающий почтовый адрес пользователя не ложилось ему письмо в ящик, а выполнялся скрипт.
Для системных пользователей это делается так:
в файл /etc/aliases добавляется строка, например:
user1: | /opt/srcipr_email_in.pl

Как сделать для виртуальных пользователей?

Благодарю.

Re: Альяс-скрипт для виртуальных пользователей

Добавлено: 2011-03-10 12:13:28
skeletor
Добавь эту строку в конфиг postfix'a

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

virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql/virtual.cf
Файл virtual.cf имеет такой вид

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

hosts                   = localhost
dbname                  = postfixadmin
user                    = postfixadmin
password                = postfixadmin
table                   = alias
select_field            = destination
where_field             = source

Re: Альяс-скрипт для виртуальных пользователей

Добавлено: 2011-03-10 12:31:28
manich
В конфиге постфикса такая строка имеется:

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

virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
Файл mysql-virtual_forwardings.cf имеет такой вид:

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

user = admin
password = password
dbname = mail
query = SELECT destination FROM forwardings WHERE source='%s'
hosts = 127.0.0.1

Файл mysql-virtual_email2email.cf имеет такой вид:

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

user = admin
password = password
dbname = mail
query = SELECT email FROM users WHERE email='%s'
hosts = 127.0.0.1

Re: Альяс-скрипт для виртуальных пользователей

Добавлено: 2011-03-10 13:09:19
skeletor
Ну вас собственно ничего не нужно изменять.

Re: Альяс-скрипт для виртуальных пользователей

Добавлено: 2011-03-10 14:36:57
manich
Да это понятно. Но мне необходимо чтобы, когда на почтовый адрес пользователя приходит письмо - то выполнялся бы скрипт.

Re: Альяс-скрипт для виртуальных пользователей

Добавлено: 2011-03-10 15:46:19
skeletor

Re: Альяс-скрипт для виртуальных пользователей

Добавлено: 2011-03-10 17:09:20
FiL
skeletor,
ты совсем о другом.

manich,
а в таблицу алиасов просто прописать скрипт в качестве destination низзя?
Ты держи в курсе, а то я собираюсь почтовых юзеров мигрировать в базу, понадобится тоже.

P.S. a sieve тут не поможет?

Re: Альяс-скрипт для виртуальных пользователей

Добавлено: 2011-03-11 8:06:20
manich
в таблицу алиасов прописываю скрипт:

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

source 	destination
test@domain.ru  	/var/www/html/mailtester/mailtester_in.pl
После чего пишу письмо этому пользователю, то приходит ответ:

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

   The mail system
</var/www/html/mailtester/mailtester_in.pl@domain.ru> (expanded from
    <test@domain.ru>): unknown user:
    "/var/www/html/mailtester/mailtester_in.pl@domain.ru"
Что говорит о том, что такого пользователя нет.

sieve - попробую.
procmail - попробую.

Re: Альяс-скрипт для виртуальных пользователей

Добавлено: 2011-03-11 21:22:22
FiL
а пайп куда делся?