Павел Завада wrote:
> Вариант с базой очень нравится. Более того, exim уже настроен в связке с
> mysql базой.
> Ссылка на структуру БД, которая используется -
> http://piccy.info/view3/6577415/00cb0bd269e9c4159e5ab3753a65b56b/
> 
> Исходя из ранее указанного метода (решить задачу через БД и фильтр с
> выборкой из неё), я бы добавил в эту структуру поле *hold*  со
> значениями 0 и 1,  как в поле *status* (активен ли ящик в принципе)

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

я бы создал отдельную таблицу, в которой бы указывал адрес отправителя
(или ссылку на учетную запись в уже существующей таблице учетных
записей), дату блокировки, можно указать того, кто заблокировал (если
блокировать могут несколько человек через какой-нибудь веб интерфейс),
можно указать величину задержки или граничное время разморозки (по
желанию), дату и время блокировки письма, дату и время расчетной
разморозки письма (если ранее была указана величина задержки и не
хочется в запросе копаться с вычислениями этого момента времени, па в
результатах запроса к табличке хочется видеть визуально все в виде
datetime), дату и время реальной разморозки письма.

а можно (если вообще не нужно знать, что и как происходило),
действительно просто добавить одно поле в таблицу учетных записей. и
сбрасывать его значение при заморозке письма.

все зависит "от полного налитого стакана".

>>> Далее, если нижеприведённый фильтр подходит нам
>>>
>>>> if first_delivery and $sender_address is "usern...@example.com" then
>>>>      freeze
>>>> endif
>>> то как тогда разрешить отправку письма?
>> протолкнуть замороженное письмо можно с помощью exim -M
>> я уже упоминал exiqgrep, xargs и exim -M
> 
> Если ничего не предпринимать,  то письмо будет отправлено автоматом при
> следующей попытке? Здесь вступает в силу queue_runner?
> Хотелось бы разрешить отправку письма явно, то есть, после каких-то
> ручных действий. Идеально будет, если так же, через БД... Изменить поле
> *hold* с 1 на 0  у юзера.
> Но тогда фильтр должен быть универсальным, а не только на*first_delivery*.
> 
> Итого, осталось только  написать правильный запрос, который будет
> использован в фильтре.
> Просьба помочь с этим. Заранее благодарю :)
> 
> 20.06.2014 13:47, Victor Ustugov пишет:
>> Igor Karpov wrote:
>>> On Jun 20, 2014, at 1:35 PM, Victor Ustugov <vic...@corvax.kiev.ua>
>>> wrote:
>>>> тогда делаем крошечную базку SQLite. при необходимости
>>>> вышеописанной операции в табличку любым способом (хоть через веб
>>>> интерфейс) добавляется запись с адресом отправителя.
>>>>
>>>> в системном фильтре в условие заморозки добавляется лукап в эту 
>>>> табличку. и если адрес отправителя в ней есть, письмо
>>>> замораживается, а запись из таблицы либо удаляется, либо
>>>> апдейтится поле срабатывания данного события (в зависимости от
>>>> того, нужны ли будут потом отчеты о срабатываниях).
>>> Другая возможность - не замораживать, а выпихивать на более другой
>>> smarthost, который вообще по собственной инициативе ничего не
>>> доставляет - или доставляет с (получасовой?) задержкой. Хотя для
>>> единственного отправителя, пожалуй, много чести...
>> тогда в Received будет видно, что с письмом проводились манипуляции
>>
>> в случае заморозки будет видно только, что между доставкой письма
>> непосредственно от отправителя данному exim'у и доставкой от данного
>> exim'а дальше по маршруту или по MX была задержка по времени. и всё.
>>
>> по условиям задачи неясно, на сколько "чисто" нужно провести данную
>> операцию.
>>
> 
> 
> 
> _______________________________________________
> Exim-users mailing list
> Exim-users@mailground.net
> http://mailground.net/mailman/listinfo/exim-users
> 


-- 
Best wishes Victor Ustugov  mailto:vic...@corvax.kiev.ua
public GnuPG/PGP key:       http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 371808614          JID: corvax_at...@jabber.corvax.kiev.ua
nic-handle: CRV-UANIC

_______________________________________________
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users

Ответить