Fórum Root.cz

Hlavní témata => Server => Téma založeno: host 16. 08. 2013, 09:54:13

Název: Postfix zacyklené maily
Přispěvatel: host 16. 08. 2013, 09:54:13
Dobrý den,
řeším problém se mi plní fronta neodeslaných mailů v postfixu. Maily které to dělají mají stejného odesilatele a příjemce. Tyto maily zaplní celou frontu. Máte někdo zkušenost s řešením tohoto problému? Stačilo by mi něco co by mi frontu promazlo, ae smazlo pouze ty maily, které mají stejného odesilatele a příjemce. Děkuji všem kteří odepíší.
Název: Re:Postfix zacyklené maily odesilatel stejný jako příjemce
Přispěvatel: Franta <xkucf03/> 16. 08. 2013, 10:06:11
Všechny maily ve frontě smažeš pomocí:

postsuper -d ALL

pro smazání jen některých potřebuješ znát jejich IDčka, ty si můžeš vytáhnout z výstupu mailq nějakým skriptem.
Název: Re:Postfix zacyklené maily odesilatel stejný jako příjemce
Přispěvatel: Mirek Prýmek 16. 08. 2013, 10:24:57
Kromě toho, že to jde smazat, jak píše Franta, bude asi nějaký problém v konfiguraci, ne? Takhle by se to chovat nemělo.
Název: Re:Postfix zacyklené maily odesilatel stejný jako příjemce
Přispěvatel: host 16. 08. 2013, 10:25:18
To vím, spíš jsem chtěl vidět nějkou ukázku skriptu který to udělá. Když dám výpis postqueue -p tak se to blbě parduje abych zjistil id ,která má stejného odesilatele a příjemce.
Název: Re:Postfix zacyklené maily odesilatel stejný jako příjemce
Přispěvatel: Mira 16. 08. 2013, 10:38:45
Trosku nechapu pojem "zaplni celou frontu". Jedine co si PF drzi v RAM je fronta ACTIVE, ostatni (DEFFERED, HOLD atd) je na HDD, bud mas hodne malej HDD, nebo sakra velkej provoz.

Pokud to nechces resit skriptem, zkus upravit dobu po jakou si mail server drzi mail ve fronte nez vygeneruje fail (mam pocit ze default je kolem 5 dni).

Jinak asi opravdu budes muset napsat skript, kde si budes sosat message ID a nasledne se pres:

postcat -vq ID

divat na odesilatele a prijemce.

Tohle ti hodi seznam ID ve frontach vyjma ACTIVE:

mailq | grep -E ^[0-9A-Za-z] | cut -d" " -f 1 | grep -v "*"

takze pak neco jako:

for id in $(mailq | grep -E ^[0-9A-Za-z] | cut -d" " -f 1 | grep -v "*")
do
 odkoho=$(postcat -vq $id 2>/dev/null | grep "From:")
 prokoho=$(postcat -vq $id 2>/dev/null | grep "From:")

 if .........

done
 

nezarucuji 100% funkcnost, a pokud te netrapi misto na disku, tak doporucuji misto mazani hazet na HOLD.
Název: Re:Postfix zacyklené maily odesilatel stejný jako příjemce
Přispěvatel: Lol Phirae 16. 08. 2013, 11:05:35
A proc to chceš mazat? Nebylo by dobré místo toho spravit konfiguraci, než lidem mazat legitimní emaily?
Název: Re:Postfix zacyklené maily odesilatel stejný jako příjemce
Přispěvatel: Rhinox 16. 08. 2013, 15:44:09
Ono se da diskutovat o tom, jestli email ktery ma stejneho prijemce jako odesilatele je legitimni. Opravdu me nenapada duvod, proc by mel uzivatel neco takoveho delat...
Název: Re:Postfix zacyklené maily odesilatel stejný jako příjemce
Přispěvatel: jfila 16. 08. 2013, 15:49:38
Například jako kontrola, jestli to funguje.  ;D
Kód: [Vybrat]
Toto je e-mailová zpráva odeslaná automaticky aplikací Microsoft Outlook při testování nastavení účtu.
Název: Re:Postfix zacyklené maily odesilatel stejný jako příjemce
Přispěvatel: pavele 16. 08. 2013, 15:52:34
Občas si také pošlu email sám sobě - např. abych se mohl v klidu podívat na nějaký firemní dokument v klidu doma nebo naopak, mám doma dokument užitečný ve firmě a pošlu si ho na můj email. Nevidím na tom nic špatného.
Název: Re:Postfix zacyklené maily odesilatel stejný jako příjemce
Přispěvatel: Mirek Prýmek 16. 08. 2013, 18:42:33
Ono se da diskutovat o tom, jestli email ktery ma stejneho prijemce jako odesilatele je legitimni. Opravdu me nenapada duvod, proc by mel uzivatel neco takoveho delat...
Mě zas nenapadá důvod, proč by měl server položit legitimní provoz.
Název: Re:Postfix zacyklené maily odesilatel stejný jako příjemce
Přispěvatel: j 16. 08. 2013, 22:38:15
Ono se da diskutovat o tom, jestli email ktery ma stejneho prijemce jako odesilatele je legitimni. Opravdu me nenapada duvod, proc by mel uzivatel neco takoveho delat...

Proc bych nemoh poslat mail sam sobe? To delam naprosto bezne. Trebas misto poznamky.

2host: Nez budes cokoli mazat/resit, tak se predevsim podivej do logu. A pokud z toho nejses moudrej/nic tam nevidis, tak to postni sem (aspon cast). Pripadne si zvedni lv logovani v konfiguraci, aby to bylo podrobnejsi. Postfix je celkem ukecanej a jeste se mi nestalo, ze by duvod nevykecal. Uz se mi ale stalo, ze borci ve firme rozesilali nejakej marketingovej zvast s prilohou ... mno a ono to po gigu prifrcelo, namnozilo se to ... az doslo misto na disku ... protoze tech par Mbit na vystupu precijem potrebuje nakej cas.

Z toho mala co si sem napsal se da leda vestit z kristakovy koule, ale muze to bejt neco, co mas na ten postfix napojeny (amavis...) a vraci to zpet na vstup to, co tomu predas. Nejspis proto ze tam mas nejaky uber khul pravidlo tykajici se lokalni domeny ... a mas ho blbe ;D.

Otestovat to muzes tak, ze vsechny tyhle veci aspon docasne odpojis a nechas jen holej postfix.
Název: Re:Postfix zacyklené maily
Přispěvatel: davidb 16. 01. 2014, 18:41:09
Kód: [Vybrat]
#!/usr/bin/perl

$REGEXP = shift || die "no email-adress given
  (regexp-style, e.g. bl.*\@yahoo.com)!";

@data = qx</usr/sbin/postqueue -p>;
for (@data) {
  if (/^(\w+)(\*|\!)?\s/) {
    $queue_id = $1;
  }
  if($queue_id) {
    if (/$REGEXP/i) {
      $Q{$queue_id} = 1;
      $queue_id = "";
    }
  }
}

open(POSTSUPER,"|postsuper -d -") || die "couldn't open postsuper" ;

foreach (keys %Q) {
  print POSTSUPER "$_\n";
};

close(POSTSUPER);
použití ->   ./delete-queue @hotmail.com
Název: Re:Postfix zacyklené maily
Přispěvatel: cik951 16. 01. 2014, 20:47:22
Dobrý den,
řeším problém se mi plní fronta neodeslaných mailů v postfixu. Maily které to dělají mají stejného odesilatele a příjemce. Tyto maily zaplní celou frontu. Máte někdo zkušenost s řešením tohoto problému? Stačilo by mi něco co by mi frontu promazlo, ae smazlo pouze ty maily, které mají stejného odesilatele a příjemce. Děkuji všem kteří odepíší.
A zkoušel jste situaci nasimulovat pomocí telnetu. Z nějakého důvodu to přece ve frontě zůstat muselo. Z logů se nedá vyčíst nic? Opravdu si nemyslím, že je řešením mazat frontu. A dělá to tak od začátku? Nebo teprve server rozjíždíte a máte problém jej nastavit?
Jedná se o regulérní uživatele nebo virtuální ?
Opravdu by stálo o tom trochu víc napsat.  ::)