Архив

Публикации с меткой ‘exim’

Удаление письма из очереди

14 Март 2011

/usr/sbin/exiqgrep -i -f EMAIL | xargs exim -Mrm

-f это искать в поле from
-r это искать в поле rcpt

admin Без рубрики

Полезные команды EXIM

14 Март 2011

Удаление почтового сообщения по ID

# exim -Mrm ID

Список сообщений в очереди

# exim -bpr

Число сообщений в очереди

# exim -bpc

Удаление “замороженных” сообщений

# exiqgrep -zi | xargs exim -Mrm

Принудительная рассылка всей почты в очереди (flush)

# exiqgrep -i | xargs exim -M

“Заморозить” почту по совпадению email с почтовым адресом отправителя

# exiqgrep -i -f email | xargs exim -Mf

Удалить почту по совпадению email с почтовым адресом отправителя

# exiqgrep -i -f email | xargs exim -Mrm

Краткий перевод помощи по exiqgrep

exiqgrep
Выборка из очереди

Без опций будет идентично «exim -bp»
Самая главная опция это «-h», которая выводит список всех опций.

-f
совпадение регулярного выражения с адресом отправителя
-r
совпадение регулярного выражения с адресом получателя
-s
совпадение регулярного выражения с полем размера (именно с полем размера, в том виде как оно указывается при выводе «exim -bp»). Регулярные выражения не надо заключать в «//»
-y
выводит сообщения “младше” заданного количества секунд
-o
выводит сообщения “старше” заданного количества секунд
-z
только «замороженные» (frozen) сообщения
-x
все, кроме «замороженных» сообщений
-c
Показать только количество совпадений (в зависимости от версии показывает либо просто число, либо фразу типа «15 matches out of 78 messages»)
-l
Показывает полную информацию, как её выводит exim (включено по умолчанию)
-i
Показывает только IDs совпавших сообщений
-b
Показывает совпадения в “кратком” формате. Одна строка: ID, From и To
-R
Выводит сообщения в обратном порядке

Источник: http://www.opennet.ru/tips/

admin Без рубрики

Очистка очереди exim

1 Декабрь 2010

exipick -

exipick - показывает сообщения в очереди экзима
exipick -z - показывает замороженные сообщения
exipick -i - показывает ID сообщений

exim -Mrm ID - удаляет из очереди сообщение с айдишником ID

В итоге получаем:
exipick -zi | xargs exim -Mrm //очистит все замороженные сообщения из очереди

exipick -i | xargs exim -Mrm //очистит все сообщения из очереди

P.S.
Это самый корретный способо очистки очереди самим экзимом.
директории сносить в /var/spool/exim/incput - это жестко..

взято отсюда http://dedic.ru/node/107

admin Без рубрики

Автоответ в EXIM

19 Май 2009

Часто менеджеры уезжают в командировки и просят сделать автоответ на все входящие….

Читать далее…

admin Без рубрики , ,

WEB морда для EXIM логов - exilog

3 Март 2009

http://www.lissyara.su/?id=1867 здесь детально все описано,  мои поправки:

У меня не было модулей для перла, ставлю:

emerge  dev-perl/DBD-mysql

emerge dev-perl/DBI

emerge  dev-perl/Net-Netmask

Запустил, вроде работает
ps -ax |grep exilog
5400 ? Ss 0:00 [exilog_agent]
5401 ? S 0:32 [exilog_agent:_tail] (/var/log/exim/exim_main.log)
5406 ? S 0:05 [exilog_agent:_tail] (/var/log/exim/exim_reject.log)
5408 ? S 0:00 [exilog_agent:_queue_manager] (/var/spool/exim)
5409 ? S 0:00 [exilog_agent:_queue_actions]

Но в базу не пишет, показывает только очередь…Вообщем дело оказалось в формате лога exim
Для этого в exim.conf выставил:
log_selector = \
+all_parents \
+connection_reject \
-incoming_interface \
-lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
-queue_run

После этого все заработало.

admin Linux ,

Конфигурация exim

28 Февраль 2009

Пример конфигурации acl_check_rcpt

MYSQL_DOMAINS = SELECT domain FROM domains WHERE domain=’${domain}’ AND (type=’LOCAL’ OR type=’VIRTUAL’)

MYSQL_ADD_WHITELIST_RECIPIENT = INSERT INTO whitelist(src_email,dst_email,record_expires) VALUES (’$sender_address’,'$local_part@$domain’,DATE_ADD(now(), INTERVAL 180 DAY))

MYSQL_UPDATE_WHITELIST_RECIPIENT  = UPDATE whitelist SET record_expires=DATE_ADD(now(), INTERVAL 180 DAY) WHERE dst_email=’$local_part@$domain’

MYSQL_DEL_WHITELIST_EXPIRED  = DELETE FROM whitelist WHERE record_expires < now()

MYSQL_WHITELIST_CHECK_SENDER   = SELECT CASE WHEN now() - record_expires > 0 THEN 2 ELSE 1 END FROM whitelist WHERE dst_email=’$sender_address’  LIMIT 1

MYSQL_WHITELIST_CHECK_RECIPIENT  = SELECT CASE WHEN now() - record_expires > 0 THEN 2 ELSE 1 END FROM whitelist WHERE dst_email=’$local_part@$domain’  LIMIT 1

Читать далее…

admin Linux ,