Возможно вы искали: 'Harry Potter and the H...'

May 15 2025 18:07:37
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Полезные опции и утилиты Exim (exim mta mail)

Полезные опции и утилиты Exim (exim mta mail)

Ключевые слова: exim, mta, mail, (найти похожие документы)

From: CSX <tuzikov@gmail.com.>
Newsgroups: mail
Date: Mon, 7 Sep 2008 17:02:14 +0000 (UTC)
Subject: Полезные опции и утилиты Exim

Оригинал: http://support24x7.blogspot.com

Полезные опции
--------------

Командная строка Exim'а использует стандартный для Unix-систем способ
задания опций. Каждая начинается с дефиса, после каждой может следовать
несколько аргументов. Опции совместимы с основными опциями Sendmail и
частично Smail.

Количество опций Exim'а просто огромно. В данной статье перечислены и
описаны только прикладные, полезные для администрирования уже
настроенной и работающей почтовой системы среднего по масштабам
почтового сервера. Для некоторых опций приведены примеры эффективного
использования.

> exim -d

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

Например exim -bd -d запускает exim как демон, выводя на консоль всю
отладочную информацию. Чтобы уменьшить количество выдаваемой информации,
можно использовать -dd (имеет смысл только с -bd) пропускает информацию
по подпроцессам. Или -v, простое описание того, что делает exim (при
использовании -d включена по умолчанию).

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

> exim -bP

выводит все значения установленные в конфиге. У этой команды тоже есть
куча параметров, но дефолтное использование + grep достаточно в 90%
случаев.

> exim -bp

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

Если опция сопровождается списком идентификаторов сообщений, то
показываются только эти сообщения.

Это одна из важнейших опций exim'а, вернее это даже не одна опция, а
целый класс. Рассмотрим их подробнее.

Каждое сообщение отображается примерно так

25m 2.9K 0t5C6f-0000c8-00 <alice@wonderland.fict.example.>
red.king@looking-glass.fict.example
<other addresses>


Первая строка содержит 4 колонки: сколько сообщение находится в очереди,
размер сообщения, ID сообщения, отправитель, как он указан в "конверте"
(для баунсов "<>"). Если сообщение заморожено (приостановлена попытка
его доставки), в конце этой строки показывается текст "*** frozen ***".

Получатели сообщения (взятые из конверта, не из заголовков) показаны в
последующих строках. Адреса по которым сообщение уже доставлено отмечены
символом "D". Если оригинальный адрес раскрывается в несколько адресов
через файл альясов или форвардов, оригинальный показывается с "D" только
когда завершены доставки для всех дочерних адресов.

> exim -bpc

выводит общее количество сообщений в очереди.

> exim -bpr

идентична -bp, но вывод не сортируется. Полезно, когда в очереди много
сообщений, а сортировка совсем не нужна (например для передачи exiqsumm).

> exim -bV

кроме того, что выдает версию и некоторую информацию о бинарнике,
проверяет exim.conf на ошибки (А скорее, на опечатки. Если эта опция
говорит, что все хорошо, то это еще не значит, что ВСЁ хорошо).

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

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

> exim -F <string>

устанавливает имя отправителя. Если опция не указана, подставляется
значение поля "gecos" из данных пароля пользователя.

> exim -f <address>

устанавливает адрес отправителя. Обычно, она может использоваться только
доверенными пользователями, но директива "untrusted_set_sender" может
разрешить её использование недоверенным пользователям.

Если не понятно, в чем разница между опциями, объясню: приходит письмо
от Vasya Pupkin <admin@server.ru.>.

Vasya Pupkin - это имя отправителя (опция -F)
admin@server.ru - адрес (опция -f)


Относительно доверенных/недоверенных пользователей, если кто не в курсе.
Пользователю root и пользователю exim'а (это не обязательно пользователь
exim) доверяют всегда. Остальных можно задать в конфиге директивами
"trusted_users" и "trusted_groups". Если "-f" не определена, или
определена пользователем, которому не доверяют, отправитель как
логин_пользователя@домен.по.умолчанию (определяется директивой
qualify_domain, если не определена используется hostname сервера).

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

exim -f '<>' user@domain
exim -f "" user@domain


При чем же здесь программисты? В отношении php приведу такой пример
"правильного" кода (кстати, взято из официальной документации к PHP)

<?php
mail('nobody@example.com', 'the subject', 'the message', null, '-fwebmaster@example.com');
?>


Есть другие способы определять заголовки средствами PHP, но это статья
не о PHP.

Дальше вероятно самый важный "класс" опций для администрирования
почтового сервера.

Опции управления сообщениями.

> exim -Mvl <message id>
Посмотреть лог сообщения

> exim -Mvb <message id>
Посмотреть тело сообщения

> exim -Mvh <message id>
Посмотреть заголовки сообщения

> exim -Mrm <message id> ...
Удалить сообщения и не посылать никаких ошибок (в логах упоминание будет).

> exim -Mg <message id> ...
Удалить сообщение и отослать отлуп (cancelled by administrator).

> exim -M <message id> ...
Ускорить доставку для сообщения с данным messageID (безусловно немедленно доставляет сообщение)

> exim -Mar messageID <address> <address> ...
Добавить адрес в список получателей сообщения.

> exim -Mes <message id> <address>
Изменить адрес отправителя в сообщении на заданный адрес.

> exim -Mf <message id> <message id> ...
Отметить перечисленные сообщения как "frozen". Любые попытки доставки
прекращаются, пока сообщение не будет разморожено вручную, или пока не
пройдет время указанное в "auto_thaw".

> exim -Mt <message id> <message id> ...
"разморозить" сообщение.

> exim -Mmad <message id> <message id> ...
пометить все адреса получателей в сообщениях как уже доставленные.
Никогда (!) не надо так делать. Сами же запутаетесь.


> exim -Mmd <message id> <address> <address> ...
пометить заданные адреса как уже доставленные. Адреса регистрозависимы.
Вот это уже полезнее, если какие-то адреса недоступны.

Если сообщение находится в состоянии "попытки доставки", следующие опции
на него не повляют: -Mrm, -Mg, -Mar, -Mes, -Mf, -Mt, -Mmad, -Mmd.

Для сообщений, которые подозреваются в спаме удобно сначала массово,
сделать -Mf, потом -Mvl, -Mvh и -Mvb для пары выбранных наугад
сообщений. Если все еще невозможно с консоли определить спам ли это
(например, проблемы с кодировками или есть вложения), то можно с помощью
-Mar добавить себя в список получателей, и ускорить данное сообщение с
помощью -M. Когда все наконец станет ясно, то либо -Mrm, либо -Mt.

> exim -q

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

Опция -q имеет флаги. Её использование таково exim -q<qflags><time>

Это значит, что вы можете комбинировать её разновидности (в отличие, от,
например -M, где вы НЕ можете указать -Mvlhb, чтобы просмотреть и логи,
и заголовки, и тело сообщения). Тем не менее, флаги должны быть указанны
в правильно порядке.

> exim -qq...

двухступенчатое выполнение очереди. При первой обработке очереди опция
"queue_smtp_domains" принимается как совпадающая с каждым доменом.
Адреса роутятся, происходят локальные доставки, но удалённые транспорты
не запускаются. Во время второй обработки происходит нормальное
сканирование очереди. Плюс такого способа в том, что те сообщения
которые роутятся на один и тот же хост, в основном, идут через одно
SMTP-соединение, на основе БД совпадений, которые были установлены при
первом сканировании очереди.

> exim -q[q]i...

если присутствует флаг i то доставляются только те сообщения, для
которых еще не было попытки доставки.

> exim -q[q]f...

если присутствует флаг f, доставляются любые незамороженные сообщения
(независимо от того, пришло их время повтора или нет).

> exim -q[q]ff...

то же что и f, но замороженные сообщения тоже доставляются.

> exim -q[q][f[f]]l

l определяет, что нужно делать только локальные доставки (остальные
сообщения, разумеется, остаются в очереди).

Значение time идет после всех флагов. Он определяет промежуток времени,
через который будет повторяться заданная обработка очереди. Например:

exim -ffl10m


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

/usr/exim/bin/exim -bd -q30m


А так можно запустить демона, который будет обслуживать входящие
соединения и обрабатывать очередь каждые 30 минут (собственно штатные
средства ОС, его примерно так и запускают).


Заменка написана на основе официальной документации к Exim. В процессе
написания использовались некоторые формулировки из перевода документации
отсюда http://www.lissyara.su/?id=1200
1. http://www.exim.org/ - Официальный сайт программы
2. http://wiki.exim.org/ - Официальная Wiki Exim'а
3. http://silverwraith.com/vexim/ - Сайт VirtualExim
4. http://www.opennet.ru/openforum/vsluhforumID1/66746.html - Диспут на тему Exim vs Postfix



Полезные утилиты Exim

Одним из главных плюсов Exim'а, без сомнения, являются утилиты, которые
поставляются вместе с ним. Они могут значительно упростить рутинные
операции, сократить ваши однострочники раз в 5, и дают возможность
составлять сложные sh-скрипты для некоторых часто повторяемых действий
с очередью и/или логами.

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

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

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

Разумеется, опции можно комбинировать и делать вещи типа:

exiqgrep -zif '^<>$'


что выводит нам ID замороженных баунсов...

На основе этого можно написать такой вот скрипт

#!/bin/sh
if ! [ `which exim 2>/dev/null` ]; then
echo "Sorry, exim binary not found! Exit now."
exit
fi
if ! [ `which exiqgrep 2>/dev/null` ]; then
echo "Sorry, exiqgrep binary not found! Exit now."
exit
fi
if [ "$1" == "cf" ]; then
num_of_frz_mes=`sudo exiqgrep -zif '^<>$|wc -l`
sudo exiqgrep -zif '^<>$'|xargs sudo exim -Mrm > /dev/null
echo "$num_of_frz_mes frozen bounces deleted"
exit
fi
if [ "$1" == "c" ]; then
num_of_mes=`sudo exiqgrep -if '^<>$'|wc -l`
sudo exiqgrep -if '^<>$'|xargs sudo exim -Mrm > /dev/null
echo "$num_of_mes bounces deleted"
exit
fi
num_of_mes=`sudo exiqgrep -if '^<>$'|wc -l`
num_of_frz_mes=`sudo exiqgrep -zif '^<>$'|wc -l`
echo "$num_of_mes bounces currently in the queue"
echo "$num_of_frz_mes frozen bounces currently in the queue"


Запуск без опций показывает количество баунсов в очереди.

с - удалить все баунсы (не надо так делать!)
cf - удалить все frozen баунсы

А можно ускорить доставку для определённого домена (-v можно убрать,
разумеется):

exiqgrep -i -r 'domain.com$' | xargs exim -v -M


Иногда, при использовании exiqgrep появляется такое

Line mismatch: 236d 1HOnvz-00069X-8w <info@lischer.com.>


Лечится так

exim -bpr | grep "^[0-9][0-9][0-9]d" | awk `{print $2}' | xargs exim -Mrm


Я не буду рассасывать, что это значит и как такое получается потому,
что это "выходит за рамки статьи".

exipick
-------

exipick - показывает сообщения из очереди по разным критериям и в разных форматах

Создана как замена exiqgrep'у. Лично мне хватает последнего, но если
захочется чего-нибудь помощнее читайте exipick --help или perldoc exipick

exiqsumm - Анализ очереди

Сама по себе эта утилита ничего не делает. На вход ей обязательно надо
подать очередь exim'а.

exim -bp | exiqsumm


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

По умолчанию вывод сортируется по доменам в алфавитном порядке. Есть и
другие опции
-a - сортирует по возрасту самого старого сообщения
-c - сортирует по количеству сообщений
-b - показывает баунсы отдельно, строчки помечаются (b). Т.е. для тех
доменов где есть баунсы будет две строки, одна с b, другая без нее.
-f - показывает "замороженные" сообщения
-s - показывает и домен с которого отправлено и письмо, и домен
получатель. Соответсвенно каждая "пара" считается отдельно.

А вот так можно выявлять спамеров.

exim -bp | exiqsumm -c -s | head


В выводе появится что-то типа

root@domain.ru [~]# exim -bp | exiqsumm -c -s | head
Count Volume Oldest Newest Domain
----- ------ ------ ------ ------
668 814KB 74m 66m server.ru > yahoo.com
653 788KB 3h 66m server.ru > mail.ru
68 82KB 66m 66m server.ru > list.ru


Разумеется вместо server.ru будет qualify domain (подробнее см. опцию
-f коммандной строки), или домен отправителя если шлют через SMTP.

Узнаем, что это за негодяй

exiqgrep -b -f 'server.ru' -r 'mail.ru' | awk '{print $3}' | sort | uniq -c | sort -n | tail


Самый нижний он и есть.

Хотя все это можно сделать проще и за один заход, с помощью exiqgrep

exiqgrep -b | awk '{print $3}' | sort | uniq -c | sort -n | tail


Ну и соответственно удалить всю очередь от него

exiqgrep -i -f '<spamer@server.ru.>' | xargs exim -Mrm


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

MID=`exiqgrep -i -f '<spamer@server.ru.>'|tail -1`;exim -Mvl $MID; exim -Mvh $MID


Но вернемся к exiqsumm. У этой утилиты есть пара важных нюансов.
Во-первых, считает она не сами сообщения а "доставки". И если некоторые
сообщения имеют более одного получателя, то доставок будет больше чем
сообщений. Во-вторых, домены на которые доставляется письмо в
результате альясинга или форвардинга - не включаются (если не
использовалась опция "one_time" роутера "redirect" для конвертации из в
адреса "верхнего уровня"). Поэтому всегда надо смотреть логи.


exigrep - Выборка из логов

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

Использование

exigrep [-I] [-l] [-t ] [-v] []...


-I - включает регистрозависимость
-l - отключает обработку регулярных выражений в паттерне (все символы
начинают обрабатываться "как есть")
-t<n> - в качестве n нужно указывать количество секунд. Выводятся
только сообщения, которые провели в очереди больше чем n секунд.
-v - опция идентична grep'овской. Выводит только строки не содержащие
паттерн (вернее, строки относящиеся к сообщениям у которых ни в одной
строке нет паттерна).

Логи можно подавать на стандартный ввод или через пробел после всех
опций. Логи могут быть в архиве (вообще говоря, все это дело
определяется опциями сборки ZCAT_COMMAND и COMPRESS_SUFFIX в файле
Local/Makefile).


eximstats - Статистика на базе логов

Утилита парсит логи экзима (или syslog'а) и выводит статистический
анализ по всем содержащимся сообщениям.
Вывод может быть в трех форматах: txt, html, xls (Excel).

Использование

eximstats [Output] [Options] mainlog1 mainlog2


По умолчанию скрипт выведет статистику в STDOUT в формате txt. Например
можно сделать так

eximstats mainlog1 mainlog2 ... > report.txt


но лучше так

eximstats -txt=report.txt mainlog1 mainlog2


Вместо txt можно указать html или xls, чтобы вывод был в
соответствующем формате.

Уже готовые отчеты можно объединить в один.

eximstats -merge -html [Options] report.1.html ... > weekly_rep.html


У программы масса опций, посмотреть их можно так

eximstats -help


или так

perldoc eximstats


Если отчеты в html, то можно даже png-графики выводить.
Описывать, что получается в отчете, смысла, думаю, нет. Стоит просто
попробовать и посмотреть. Статистика очень мощная, если есть проблемы,
они винды сразу.

exim_checkaccess - проверка приема для адреса с IP

Очень простая программа для проверки Relay. Заменяет "exim -bh".
Используем так:

exim_checkaccess <IP address> <email address> [exim options]


IP - IP отправителя
email address - адрес который будет указываться в RCPT TO
Обе опции обязательные (к сожалению, я не нашел как проверить "с любого
IP"). После опций можно добавить любые опции экзима. Т.к. утилита
использует <> в качестве отправителя удобно использовать её так:
exim_checkaccess 10.9.8.7 A.User@a.domain.example -f
himself@there.example

Это не все утилиты, которые идут с exim'ом. Описал только те, которые
считаю наиболее полезными.

Остальные утилиты просто перечислю:

* exiwhat - список того, что делают процессы exim`a
* exicyclog - ротация лог-файлов
* exim_dbmbuild - сборка файла DBM
* exinext - извлечение информации повторов
* exim_dumpdb - дамп БД подсказок
* exim_tidydb - очистка БД подсказок
* exim_fixdb - правка БД подсказок
* exim_lock - блокировка файла почтового ящика (mailbox)
* eximon - показывает в X'ах информацию о состоянии очереди exim'a, и о том, что exim делает


Есть сторонние утилиты, например, exilog - обеспечивает визуализацию
логов от многих серверов exim'a.
Lire - аналог eximstats, но на самом деле это более глобальная
программа которая анализирует логи многих программ и выводит
статистику.

Ссылки

Заметка написана на основе официальной документации к Exim. В процессе
написания использовались некоторые формулировки из перевода документации
отсюда.

Официальный сайт программы
Официальная Wiki Exim'а
Сайт VirtualExim
Сайт утилиты exilog
сайт Lire
FAQ по Exim MTA
Диспут на тему Exim vs Postfix
Virtual Domains with Exim + Courier-IMAP + MySQL
Установка почтового сервера на базе Exim



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

В очереди, увы, может накапливаться всякая дрянь... Кто-то неправильное
мыло в веб-форме указал, где-то спамеры с несуществующего адреса что-то
прислали. От этого нужно избавляться, желательно по крону.
Нижеприведенный скрипт предназначен для чистки очереди Exim'а на cPanel
серверах, но cPanel здесь необязательна.

Настоятельно рекомендую все пути к бинарникам прописать абсолютными --
для верности.

Пользователь от которого запускается скрипт должен быть доверенным для
Exim'а (в общем случае, просто добавте его в группу mail).
Кроме того, объясню шаманскую строчку.
По непонятным для меня причинам (кто объяснит?!) экзим иногда теряет
тела писем после доставки. В следствие чего, в выводе списка писем
(exim -bp) объем тела не указан.

exiqgrep такое не понимает и падает с подобной ошибкой:

Line mismatch: 4h 1Kg6sa-0454TM-Tu <sender@domain.com.>


Поэтому и была написана "шаманская строчка", которая таких "призраков"
изгоняет.

Рекомендую очень хорошо понять, что делает скрипт перед тем как пихать
его в крон. Почта удаляется из очереди навсегда.

#!/bin/bash
# Определяем qualify_domain -- он нужен для удаления всякой лажи
domain=`exim -bP | grep -i "^qualify_domain" | sed -e s/.*= //g`
# Это очень шаманская строчка
exim -bpr | grep '<' | awk '{print $2}' | grep '-' | xargs exim -Mrm 2> /dev/null
# если скрипту передан параметр c, то включается более агрессивный режим
if [ "$1" == "c" ]; then
# Удаляем все баунсы старше 10 минут
exiqgrep -o 600 -if '^<>$' |xargs exim -Mrm
# Удаляем сообщения с адресами начинающимися с подчерка, минуса или вертикальной черты
exiqgrep -f '^<_|^<-|^<|' -i | xargs exim -Mrm
exiqgrep -r '^_|^-|^|' -i | xargs exim -Mrm
#Удаляем сообщения отправленные скриптами на китайские домены старше 10 минут
exiqgrep -f "$domain" -r '.cn$' -o 600 -i | xargs exim -Mrm
# Удаляем любые сообщения отправленные скриптами, если они не доставлись за12 часов
exiqgrep -f "$domain" -o 43200 -i | xargs exim -Mrm
exit
fi
# В мягком режиме удаляем только frozen баунсы и письма с невозможными адресами в заголовках
exiqgrep -zif '^<>$' |xargs exim -Mrm
exiqgrep -f '^<_|^<-|^<|' -i | xargs exim -Mrm
exiqgrep -r '^_|^-|^|' -i | xargs exim -Mrm
1047 Прочтений •  [Полезные опции и утилиты Exim (exim mta mail)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Полезные опции и утилиты Exim (exim... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка