Per defecte les cues que té el postfix són:
- hold: missatges que no s’intenten entregar mai
- incoming: cua d’entrada de missatges
- active: cua en la que es decideix amb quin delivery agent s’itenta entregar un missatge
- defer/deferred: missatges que no s’han pogut entregar per un error temporal es posen en aquesta cua
- bounce: on es generen els missatges d’error cap al remitent dels missatges que no s’han pogut entregar
- corrupt: cua que conté missatges danyats amb els que no es pot fer res
Accions que podem fer amb els missatges d’una cua:
- Listing messages
- Deleting messages
- Holding messages
- Requeuing messages
- Displaying messages
- Flushing messages
Gestió de les cues:
- Mostra l’estat de totes les cues.
mailq
- Mostrar els 10 dominis amb més missatges pendents d’enviar, sovint va bé per controlar quan ens han usat per fer un email i hi ha molts correus enganxats per enviar.
qshape -s deferred|head -n 10
- Borrar un missatge de les cues.
postsuper -d ID_MSG
- Borrar tots els missatges de les cues.
postsuper -d ALL
- Script per borrar missatges de les cues segons origen o destí:
#!/usr/bin/perl -w
#
# pfdel - deletes message containing specified address from
# Postfix queue. Matches either sender or recipient address.
#
# Usage: pfdel
#
use strict;
# Change these paths if necessary.
my $LISTQ = "/usr/sbin/postqueue -p";
my $POSTSUPER = "/usr/sbin/postsuper";
my $email_addr = "";
my $qid = "";
my $euid = $>;
if ( @ARGV != 1 ) {
die "Usage: pfdel \n";
} else {
$email_addr = $ARGV[0];
}
if ( $euid != 0 ) {
die "You must be root to delete queue files.\n";
}
open(QUEUE, "$LISTQ |") ||
die "Can't get pipe to $LISTQ: $!\n";
my $entry = ; # skip single header line
$/ = ""; # Rest of queue entries print on
# multiple lines.
while ( $entry = ) {
if ( $entry =~ / $email_addr$/m ) {
($qid) = split(/\s+/, $entry, 2);
$qid =~ s/[\*\!]//;
next unless ($qid);
#
# Execute postsuper -d with the queue id.
# postsuper provides feedback when it deletes
# messages. Let its output go through.
#
if ( system($POSTSUPER, "-d", $qid) != 0 ) {
# If postsuper has a problem, bail.
die "Error executing $POSTSUPER: error " .
"code " . ($?/256) . "\n";
}
}
}
close(QUEUE);
if (! $qid ) {
die "No messages with the address <$email_addr> " .
"found in queue.\n";
}
exit 0;
- Borrar missatges segons email origen o destí.
/root/bin/pfdel email
- Hold a message / Retenir missatges, no intentar servir-los. Posar-los a una cua congelats.
postsuper -d ID_MSG
- Hold all messages
postsuper -d ALL
- Moure un missatge de la cua ‘hold’ a la cua ‘active’.
postsuper -H ID_MSG
- Moure tots els missatges de la cua ‘hold’ a la cua ‘active’.
postsuper -H ALL
- Re-encuar missatges, per exemple si el postfix tenia un erro de configuració després de corregir-los podem re-encuar els missatges perquè es corregeixin els possibles errors de classificació que hagin patit. Per exemple, canvi de ‘delivery agent’.
postsuper -r ID_MSG o postsuper -r ALL
- Veure el contingut d’un missatge que esta a la cua:
postcat -q ID_MSG
- Per forçar el re-enviament de missatges a la cua.
postqueue -s o postfix flush
- Per forçar l’enviament de missatges a la cua per un domini.
postqueue -s domini.com
Aquí podràs trobar moltíssima informació relacionada amb l'Oriol Rius. Des del blog, fins a moltes altres seccions. Les temàtiques que es tracten són tan de caire personal com de temàtiques tecnològiques. M'autodefineixo com un geek completament absorvit per la tecnologia i tot el que l'envolta. Bàsicament els aspectes tècnics que m'interessen són el Linux, networking, xarxes sense fils, veu sobre IP i molts d'altres temes relacionats. 





