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

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
manich
проходил мимо
Сообщения: 4
Зарегистрирован: 2011-03-10 11:40:51

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

Непрочитанное сообщение manich » 2011-03-10 12:06:02

Приветствую Вас,

Имею почтовый сервер: 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

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

Благодарю.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
skeletor
майор
Сообщения: 2430
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение skeletor » 2011-03-10 12:13:28

Добавь эту строку в конфиг 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
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

manich
проходил мимо
Сообщения: 4
Зарегистрирован: 2011-03-10 11:40:51

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

Непрочитанное сообщение manich » 2011-03-10 12:31:28

В конфиге постфикса такая строка имеется:

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

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

Аватара пользователя
skeletor
майор
Сообщения: 2430
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение skeletor » 2011-03-10 13:09:19

Ну вас собственно ничего не нужно изменять.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

manich
проходил мимо
Сообщения: 4
Зарегистрирован: 2011-03-10 11:40:51

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

Непрочитанное сообщение manich » 2011-03-10 14:36:57

Да это понятно. Но мне необходимо чтобы, когда на почтовый адрес пользователя приходит письмо - то выполнялся бы скрипт.

Аватара пользователя
skeletor
майор
Сообщения: 2430
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение skeletor » 2011-03-10 15:46:19

"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

FiL
ст. лейтенант
Сообщения: 1360
Зарегистрирован: 2010-02-05 0:21:40

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

Непрочитанное сообщение FiL » 2011-03-10 17:09:20

skeletor,
ты совсем о другом.

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

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

manich
проходил мимо
Сообщения: 4
Зарегистрирован: 2011-03-10 11:40:51

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

Непрочитанное сообщение manich » 2011-03-11 8:06:20

в таблицу алиасов прописываю скрипт:

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

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 - попробую.