И моя первая просьба помочь.
Задача:
Есть адрес VSEM@DOMAIN.RU нужно сделать так чтобы на него могли слать письма только авторизованные пользователи (ну или только с моего домена), а для остальных DENY.
На форуме решения данной проблемы нет ВРОДЕ.

Модератор: xM
Решение слишком простое чтобы им заниматься.wwaaoo писал(а):Здесь предлагаю размешать просьбы для написания различных правил фильтрации почты.
И моя первая просьба помочь.
Задача:
Есть адрес VSEM@DOMAIN.RU нужно сделать так чтобы на него могли слать письма только авторизованные пользователи (ну или только с моего домена), а для остальных DENY.
На форуме решения данной проблемы нет ВРОДЕ.
Код: Выделить всё
deny message = "Get out"
!authenticated = *
local_parts = vsem
Код: Выделить всё
maillist_for_domain_ru:
driver = redirect
domains = domain.ru
local_parts = vsem
file = /usr/local/etc/exim/list.e
allow_fail
allow_defer
Код: Выделить всё
andrei@domain.ru
sidorov@domain.ru
petrov@domain.ru
Код: Выделить всё
MYSQL_VSEM = SELECT CONCAT(username,"@",domain) FROM users
# Рассылка
vsem_mysql:
driver = redirect
allow_fail
allow_defer
condition = ${if eq{$local_part}{vsem}{yes}{no}}
data = ${lookup mysql{MYSQL_VSEM}}
Приведи свой вариант!princeps писал(а):А алисами это не проще сделать?
Ааа врубился! Да проще будет (если БД использовать). А вариант с файлом универсальней.princeps писал(а):ну, сделать alias vse@dimain.ru и прицепить к нему все нужные адреса.
princeps писал(а):надо подумать над тем, чтоб при создании нового пользователя он автоматом добавлялся в такие списки рассылки.
Код: Выделить всё
maillist_for_domain_ru:
driver = redirect
domains = domain.ru
local_parts = vsem
data = ${lookup mysql{SELECT login FROM users WHERE domain='domain.ru'}}
allow_fail
allow_defer
Код: Выделить всё
CREATE TABLE domains (
domain varchar(128) NOT NULL default '',
type enum('LOCAL','RELAY','VIRTUAL') default 'LOCAL',
PRIMARY KEY (domain));
INSERT INTO domains VALUES ('domain.ru', 'LOCAL');
CREATE TABLE users (
login varchar(64) NOT NULL default '',
name varchar(128) NOT NULL default '',
password varchar(64) NOT NULL default '',
decrypt varchar(64) NOT NULL default '',
uid int(10) unsigned default '26',
gid int(10) unsigned default '6',
domain varchar(128) NOT NULL default 'domain.ru',
quota tinyint(4) default '0',
status enum('0','1') default '1',
PRIMARY KEY (login,domain));
INSERT INTO users (login,name,password,decrypt) VALUES ('sidorov','sidorov',encrypt('password'),'password');