Košík je prázdný

Správa poštovní fronty je klíčovou součástí administrace serveru, zejména při odhalování a odstraňování nevyžádané nebo problematické pošty. V tomto článku se zaměříme na konkrétní případ: jak na serveru s CentOS 7 odstranit e-maily ve frontě, které pochází od jednoho odesílatele – například Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.. Postup bude demonstrován na systému s nainstalovaným Postfixem, který je v CentOS 7 nejčastěji používaným MTA (Mail Transfer Agentem).

Proč filtrovat a mazat zprávy podle odesílatele

V některých případech může dojít k zahlcení poštovní fronty zprávami od jediného odesílatele. Důvody mohou být různé – chybně nakonfigurovaná aplikace, testování, nebo dokonce pokus o spam. Ruční mazání desítek nebo stovek zpráv by bylo neefektivní, proto je nutné přistoupit k filtrování a automatizovanému odstranění.

Zobrazení e-mailové fronty v CentOS 7

Nejprve si ověřte aktuální stav fronty:

mailq

nebo:

postqueue -p

Tyto příkazy vypíší všechny zprávy aktuálně ve frontě – jejich ID, velikost, stáří a adresy odesílatele/příjemce.

Zjištění ID zpráv od konkrétního odesílatele

Chceme vyfiltrovat pouze ty zprávy, které pochází od odesílatele Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.. K tomu poslouží kombinace nástrojů grep, awk a xargs:

mailq | grep -B1 "Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript." | grep '^[A-F0-9]' | awk '{print $1}' | tr -d '*!' > ids.txt

 Tento příkaz:

  • vyhledá všechny zprávy obsahující danou e-mailovou adresu,

  • pomocí -B1 zachytí také řádek před výskytem adresy (kde je ID zprávy),

  • pomocí awk a tr získá čisté ID zprávy,

  • uloží ID do souboru ids.txt pro snadné další zpracování.

Odstranění zpráv pomocí příkazu postsuper

Souborem ids.txt nyní můžete hromadně smazat požadované zprávy:

cat ids.txt | xargs -n 1 postsuper -d

Každé ID bude samostatně smazáno z fronty pomocí příkazu postsuper -d.

Kontrola výsledku

Po smazání zpráv doporučujeme ověřit aktuální stav fronty:

mailq

Pokud se žádné zprávy od daného odesílatele již nezobrazují, operace proběhla úspěšně.

Automatizace pomocí shell skriptu

Pro opakované použití můžete celý proces zapsat do jednoduchého shell skriptu:

#!/bin/bash
grep -B1 "Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript." < <(mailq) | grep '^[A-F0-9]' | awk '{print $1}' | tr -d '*!' | xargs -n 1 postsuper -d

Skript stačí uložit např. jako remove_from_queue.sh, dát mu spustitelná práva (chmod +x remove_from_queue.sh) a spustit podle potřeby.

 

Odstranění zpráv od konkrétního odesílatele z fronty v CentOS 7 s Postfixem je efektivní způsob, jak udržet poštovní server stabilní a přehledný. Využívání nástrojů jako grep, awk, xargs a postsuper je nezbytnou výbavou každého správce serveru. Pokud provozujete e-mailový server ve výrobním prostředí, doporučuje se monitorování fronty pravidelně automatizovat a včas detekovat podezřelé adresy.

Chcete-li podobné operace zjednodušit, je možné integrovat tento postup do monitorovacího nástroje jako je Zabbix nebo použít rozhraní pro správu Postfixu.

Neaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnocení