Почтовые сервера EXIM, sendmail, postfix, Dovecot и инфраструктура: MTA/MDA, антиспам, web‑почта, маршрутизация и эксплуатация почтовых систем.
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2007-09-06 13:28:14
Есть у меня идея (точнее уже работает) загонять все отправленные/принятые письма в mysql и потом делать с ними всё что пожелаешь. Возникла трудность.
Код: Выделить всё
acl_smt_data:
# Лог отправленных писем нашими пользователями (Получатель 1)
warn
condition = ${if eq{$recipients_count}{1}}
condition = ${if >{${strlen:$authenticated_id}}{1}}
set acl_m19 = ${lookup mysql{MYSQL_LOG_DATA_OUTGOING_EMAILS}}
Тут нормально работает, а если получателей много?
Нужно сделать что-то типа:
Код: Выделить всё
# Лог отправленных писем нашими пользователями (Получателей больше 1)
warn
condition = ${if >{$recipients_count}{1}}
condition = ${if >{${strlen:$authenticated_id}}{1}}
начало цикла (переменная от 1 и до $recipients_count
set acl_m18 = ${extract{МОЯ_ПЕРЕМЕННАЯ}{,}{$recipients}}}
set acl_m19 = ${lookup mysql{MYSQL_LOG_DATA_OUTGOING_EMAILS}}
конец цикла
На данный момент в логах это выглядит так:
Код: Выделить всё
From: user@mail.ru To: myuser@mydomain.ru, myuser2@mydomain.ru и т.д. в одной строке
А нужно:
Код: Выделить всё
From: user@mail.ru To: myuser@mydomain.ru
From: user@mail.ru To: myuser2@mydomain.ru
From: user@mail.ru To: myuser3@mydomain.ru
From: user@mail.ru To: myuser4@mydomain.ru
в несколько строк.
Может как по другому можно?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2007-09-06 14:25:57
Пока дошел вот до этого, придётся ограничивать максимальное количество получателей.
Код: Выделить всё
# Лог отправленных писем нашими пользователями
# (Получатель 1)
warn
condition = ${if eq{$recipients_count}{1}}
logwrite = :panic: "Отправлено письмо от $sender_address на $recipients"
# (Получателей много)
warn
condition = ${if >{$recipients_count}{1}}
set acl_m16 = ${sg{${extract{1}{,}{$recipients}}}{ }{}}
logwrite = :panic: "$recipients_count: Получатель($acl_m16) в базу"
set acl_m16 = ${sg{${extract{2}{,}{$recipients}}}{ }{}}
logwrite = :panic: "$recipients_count: Получатель($acl_m16) в базу"
condition = ${if >{$recipients_count}{2}}
set acl_m16 = ${sg{${extract{3}{,}{$recipients}}}{ }{}}
logwrite = :panic: "$recipients_count: Получатель($acl_m16) в базу"
condition = ${if >{$recipients_count}{3}}
set acl_m16 = ${sg{${extract{4}{,}{$recipients}}}{ }{}}
logwrite = :panic: "$recipients_count: Получатель($acl_m16) в базу"
condition = ${if >{$recipients_count}{4}}
set acl_m16 = ${sg{${extract{5}{,}{$recipients}}}{ }{}}
logwrite = :panic: "$recipients_count: Получатель($acl_m16) в базу"
condition = ${if >{$recipients_count}{5}}
set acl_m16 = ${sg{${extract{6}{,}{$recipients}}}{ }{}}
logwrite = :panic: "$recipients_count: Получатель($acl_m16) в базу"
condition = ${if >{$recipients_count}{6}}
set acl_m16 = ${sg{${extract{7}{,}{$recipients}}}{ }{}}
logwrite = :panic: "$recipients_count: Получатель($acl_m16) в базу"
И т.д.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Alex Keda
- стреляли...
- Сообщения: 35501
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2007-09-06 14:27:35
напиши процедуру на встроенном perl...
а то ерундой маешься какой-то

Убей их всех! Бог потом рассортирует...
Alex Keda
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2007-09-06 14:38:07
Знал бы perl, написал бы :-)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Alex Keda
- стреляли...
- Сообщения: 35501
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2007-09-06 14:44:29
тот же php
тока более убогий

кстати - я приводил примеры процедур - в теме где была обработка расылок эксчейнджа.
=========
надо кстаи отписаься там - я его ещё допилил...
Убей их всех! Бог потом рассортирует...
Alex Keda