Назад | Перейти на главную страницу

Использование Exim для удаления писем от одного отправителя

2012-11-15 09:24:03 1TZ0MN-0000Tm-2W <= USER@HOST.DOMAIN.TLD U=USER P=local S=439 T="http://USER-DOMAIN.net" for SENTTO@yahoo.com
2012-11-15 09:24:09 1TZ0MS-0000UH-Jq <= USER@HOST.DOMAIN.TLD U=USER P=local S=439 T="http://USER-DOMAIN.net" for SENTTO@yahoo.com
2012-11-15 09:24:13 1TZ0MX-0000Us-Me <= USER@HOST.DOMAIN.TLD U=USER P=local S=439 T="http://USER-DOMAIN.net" for SENTTO@yahoo.com
2012-11-15 09:24:20 1TZ0Md-0000VI-Rh <= USER@HOST.DOMAIN.TLD U=USER P=local S=439 T="http://USER-DOMAIN.net" for SENTTO@yahoo.com
2012-11-15 09:24:24 1TZ0Mi-0000Vf-KQ <= USER@HOST.DOMAIN.TLD U=USER P=local S=439 T="http://USER-DOMAIN.net" for SENTTO@yahoo.com
2012-11-15 09:24:30 1TZ0Mn-0000W6-TR <= USER@HOST.DOMAIN.TLD U=USER P=local S=439 T="http://USER-DOMAIN.net" for SENTTO@yahoo.com
2012-11-15 09:24:36 1TZ0Mt-0000WY-SR <= USER@HOST.DOMAIN.TLD U=USER P=local S=439 T="http://USER-DOMAIN.net" for SENTTO@yahoo.com
2012-11-15 09:24:41 1TZ0Mz-0000XI-1S <= USER@HOST.DOMAIN.TLD U=USER P=local S=439 T="http://USER-DOMAIN.net" for SENTTO@yahoo.com
2012-11-15 09:24:45 1TZ0N3-0000Xi-Mz <= USER@HOST.DOMAIN.TLD U=USER P=local S=439 T="http://USER-DOMAIN.net" for SENTTO@yahoo.com
2012-11-15 09:24:51 1TZ0N9-0000YI-FX <= USER@HOST.DOMAIN.TLD U=USER P=local S=439 T="http://USER-DOMAIN.net" for SENTTO@yahoo.com

Есть ли способ войти и сбросить все их электронные письма? У них там тысячи.

Я попытался:

exiqgrep -ir SENTTO@yahoo.com | xargs exim -Mrm
exim: no message ids given after -Mrm option

Для меня ниже сработало идеально:

Чтобы удалить все электронные письма от любого отправителя в очереди exim, используйте:

exiqgrep -i -f email@email.com | xargs exim -Mrm

Чтобы удалить все электронные письма любому получателю в очереди exim, используйте:

exiqgrep -i -r email@email.com | xargs exim -Mrm

Ниже приведены справки по командам exiqgrep и exim:

exiqgrep -h Утилита отображения очереди сообщений Exim. -h Это справочное сообщение. Критерий отбора:

-f <regexp> Match sender address sender (field is "< >" wrapped)
-r <regexp> Match recipient address
-s <regexp> Match against the size field from long output
-y <seconds>    Message younger than
-o <seconds>    Message older than
-z      Frozen messages only (exclude non-frozen)
-x      Non-frozen messages only (exclude frozen)

Параметры отображения: -c Отображение количества совпадений -l Длинный формат [по умолчанию] -i Только идентификаторы сообщений -b Краткий формат -R Обратный порядок

Команда EXIM:

 exim -bp - shows messages in queue
exim -bpc - shows the no.of messages in queue
exim -bP - shows the current configurations of exim
exim -bV - shows the version and configuration file of exim
exiwhat - Finding out what Exim processes are doing
exim -qf - Force another queue run
exim -qff - Force another queue run and attempt to flush frozen messages
exim -Mvl - messageID View Log for message
exim -Mvb - messageID View Body for message
exim -Mvh - messageID View Header for message
exim -Mrm - messageID Remove message (no errors sent)
exim -Mg - messageID Give up and fail message, message bounces to sender
exiqgrep -zi
-z : frozen mails only
-i : display message IDs only
exim -M emailID - Force delivery of one message

Попробуйте эту команду

exiqgrep -z -i | xargs exim -Mrm

мне удалось удалить всю замороженную почту из очереди.

Все примеры использования exiqgrep иметь варианты разделены, никогда не объединены.

Пытаться exiqgrep -i -r SENTTO@yahoo.com | xargs exim -Mrm

Если вы хотите удалить всю почту из очереди с почтовым адресом отправителя email@email.com пытаться:

# exiqgrep -i -f email@email.com | xargs exim -Mg

в этом случае вам не нужно вводить идентификатор массажа вручную один за другим ... это работает для меня ..