Postfix E-Mail Queue leeren

Jeder Administrator eines E-Mail-Servers wird sicherlich irgendwann einmal die Mail-Queue bearbeiten müssen, weil eine oder mehrere E-Mails dort „hängen“ bleiben oder explizit an der Auslieferung gehindert werden sollen.

Am Beispiel des MTA Postfix:

  • Die Mail-Queue kann angezeigt werden mit
    ~# mailq
  • Eine bestimmte E-Mail aus der Queue löschen mit
    ~# postsuper -d ID
  • Eine bestimmte E-Mail aus der Queue auf „halten“ setzen (Senden der E-Mail wird unterbunden)
    ~# postsuper -h ID
  • Eine „gehaltene“ E-Mail aus der Queue auf „senden“ setzen (Senden der E-Mail wird erneut versucht)
    ~# postsuper -H ID

Wird anstatt der ID der String „ALL“ (uppercase, ohne Anführungszeichen) verwendet, wird das Kommando auf alle E-Mails der Queue angewendet.
~# postsuper -d ALL

Weitere Informationen gibt ~# man postsuper

Druckaufträge unter Linux Shell

Zum Anzeigen und Verwalten von Druckaufträge unter Linux (Debian) in der Shell kann das Tool lp* Tools verwendet werden.

Druckaufträge listen:
~$: lpq
oder
~$: lpstat

Druckaufträge löschen:
Jeder Benutzer kann nur seine eigenen Druckaufträge löschen (ausgenommen root).

  • Alle Druckaufträge des aktuellen Benutzers löschen: ~$: lprm -a all
  • Alle Druckaufträge des Benutzers ‚john‘ löschen: ~$: lprm -a john
  • Druckauftrag 20 und 25 löschen: ~$: lprm -a 20 25

Weitere Infos und Parameter gibt
~$: man lprm

Gierigkeit bei Regular Expressions

Mit einem Reguläre Ausdruck (Regular Expression) wir ein Suchmuster für eine (oder mehrere) Teilzeichenketten innerhalb einer Zeichenmenge beschrieben. Reguläre ausdrücke können z. B. eingesetz werden um eine E-Mail-Adresse oder andere Formularfelder auf eine gültige Syntax (wurden nur erlaubte Zeichen eingegeben) zu prüfen.

Gierigkeit
Im Normalfall verhält sich ein Regulärer Ausdruck immer „gierig“, d. h. er umfasst die größtmögliche Anzahl von Zeichen, die dem Suchmuster entsprechen. Sofern dies nicht gewünscht ist, kann ein Suchmuster als „genügsam“ deklariert werden.

Beispiel: In einer Zeichenkette sind Platzhalter definiert, die über einen Regulären Ausdruck gefunden werden sollen, hier das Datumsformat ‚d.m.Y‘: Heute ist der {d:d.m.Y}, hallo {name}.

Der Reguläre Ausdruck ‚/{d:(.*)}/‘ würde nun im gierigen Verhalten die Teilzeichenkette ‚d.m.Y}, hallo {name‘ extrahieren. Um die für dieses Bespiel gewünschte Teilzeichenkette ‚d.m.Y‘ zu extrahieren muss der Ausdruck genügsam sein. Dies wird durch den „non-greedy“-Quantor „*?“ erreicht: ‚/{d:(.*?)}/‘.

Im PHP könnte der Aufruf dann wie folgt aussehen:
preg_match(‚/{d:(.*?)}/‘, ‚Heute ist der {d:d.m.Y}, hallo {name}‘, $matches);

Umfassende Informationen zu Regulären Ausdrücken: