Domeka
21.05.2012., 04:03:16 *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   Home   Help Search GoogleTagged Contact Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: Postfix: kako obrisati mailove iz queuea?  (Read 694 times)
0 Members and 1 Guest are viewing this topic.
The MasteR
Administrator
Full Member
*****

Karma: +20/-0
Offline Offline

Gender: Male
Posts: 168



View Profile WWW
« on: 29.01.2009., 19:44:37 »

Postfix pomoćni program 'postsuper' (skraćeno od "postfix superintendent") je namijenjen za rad sa Postfix queuevima, odnosno mailovima u njima. Postsuper je namijenjen sistem administratorima, a ukoliko korisnici žele dio mogućnosti postsupera (npr. ispisati mail queue), trebaju rabiti naredbu 'postqueue'.

U većini slučajeva, postsuper će se rabiti za brisanje mailova iz queuea. U tu svrhu služi opcija -d:

Code:
# postsuper -d QUEUE_ID

Queue ID broj možete naći preko naredbe "postqueue -p", odnosno "mailq" (koju donosi postfix radi zadržavanja kompatibilnosti sa sendmailom).

Code:
# postqueue -p
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
F134C1838D    28300 Sun May 13 11:36:14  MAILER-DAEMON
          (connect to mail.pradella.biz[212.77.229.254]: Connection timed out)
                                         henry@pradella.biz

3C41518383    28352 Sat May 12 11:19:15  MAILER-DAEMON
           (connect to pistonheads.biz[195.225.218.139]: Connection timed out)
                                         john@pistonheads.biz

36FCE1838E    28328 Sat May 12 20:32:34  MAILER-DAEMON
           (connect to pistonheads.biz[195.225.218.139]: Connection timed out)
                                         john@pistonheads.biz

638221838B    28335 Sat May 12 18:06:48  MAILER-DAEMON
               (connect to 64.202.167.73[64.202.167.73]: Connection timed out)
                                         richard@guitarra.biz

-- 111 Kbytes in 4 Requests.

Kako ovo zna biti nepraktično, a počesto i sporo, donosimo kratku perl skriptu delete_from_mailq.pl koja će olakšati uporabu ove naredbe. Skriptu snimite primjerice u /usr/sbin (ili neki drugi direktorij koji je u $PATH-u root korisnika).

Uporaba je iznimno laka, jer kao parametar očekuje e-mail adresu, odnosno regularni izraz u obliku "spam.*@domena.com", ".*@spammerdomain.com" itd.).

E-mail adresa može biti i potpuna, primjerice "netko.negdje@domena.net".

Skripta delete_from_mailq.pl izgleda ovako:

Code:
#!/usr/bin/perl

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

@data = qx;
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);
Logged

Bavim se mreznom implementacijom - sistemac - Linux, CCNA, CCNP
Pages: [1]   Go Up
  Print  
GoogleTagged: mailer-daemon google postfix

 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC | Sitemap Valid XHTML 1.0! Valid CSS!
Page created in 0.093 seconds with 22 queries.

Google visited last this page 06.05.2012., 10:49:56