Warteschlange ansehen

Zeigt die wartenden Nachrichten mit Anzahl, Ziel und letztem Fehler: der erste Blick bei «Mails kommen nicht an».

Warteschlange

PowerShell (Windows)

Get-Queue (Exchange) Bordmittel

Get-Queue | Sort-Object MessageCount -Descending |
  Format-Table Identity, Status, MessageCount, NextHopDomain, LastError -AutoSize

IIS SMTP Pickup Bordmittel

Get-ChildItem "$env:SystemRoot\System32\inetsrv\mailroot\Queue" | Measure-Object

Unix-Shell (bash)

mailq Bordmittel

mailq | tail -1
mailq | head -30

postqueue / exim Zusatztool

postqueue -p | tail -1
exim -bpc

Exchange-Cmdlets brauchen die Exchange Management Shell. Unter Linux hängt der Befehl vom MTA ab: mailq funktioniert bei Postfix und Exim, die Detailbefehle unterscheiden sich.

Nachricht ansehen

Zeigt eine einzelne wartende Nachricht mit Absender, Empfänger, Kopfzeilen und Fehlergrund.

PowerShell (Windows)

Get-Message (Exchange) Bordmittel

Get-Message -Identity "3F2A81C0B45" | Format-List Identity, Subject, FromAddress, Recipients, Status, LastError, Queue

Get-MessageTrackingLog Zusatztool

Get-MessageTrackingLog -MessageId "3F2A81C0B45" -Start (Get-Date).AddDays(-1) | Format-Table Timestamp, EventId, Source, Recipients

Unix-Shell (bash)

postcat Bordmittel

postcat -qv 3F2A81C0B45

exim Zusatztool

exim -Mvh 3F2A81C0B45
exim -Mvb 3F2A81C0B45

Zustellung erzwingen

Stösst die Zustellung aller wartenden Nachrichten sofort an, statt auf den nächsten Wiederholungslauf zu warten.

PowerShell (Windows)

Retry-Queue (Exchange) Bordmittel

Get-Queue | Where-Object { $_.Status -eq "Retry" } | Retry-Queue -Resubmit $true

Force-Resubmit Zusatztool

Get-Queue | Where-Object { $_.MessageCount -gt 0 } | ForEach-Object { Retry-Queue -Identity $_.Identity }

Unix-Shell (bash)

postqueue Bordmittel

postqueue -f

exim Zusatztool

exim -qff

Sinnvoll direkt nach der Behebung einer Störung. Bei einer sehr grossen Warteschlange erzeugt das eine Lastspitze beim Ziel.

Nachricht löschen

Entfernt eine Nachricht aus der Warteschlange, wahlweise ohne Unzustellbarkeitsbericht.

PowerShell (Windows)

Remove-Message (Exchange) Bordmittel

Remove-Message -Identity "3F2A81C0B45" -WithNDR $false -Confirm:$false

Remove-Queue Zusatztool

Get-Queue | Where-Object { $_.Status -eq "Suspended" } | Get-Message | Remove-Message -WithNDR $false -Confirm:$false

Unix-Shell (bash)

postsuper Bordmittel

postsuper -d 3F2A81C0B45
# ALLE zurueckgestellten loeschen: postsuper -d ALL deferred

exim Zusatztool

exim -Mrm 3F2A81C0B45

Nicht umkehrbar. Vor dem Löschen die Nachricht ansehen und, wenn nötig, sichern (postcat, Get-Message).

Zurückgestellte finden

Filtert die Warteschlange nach einem Fehlertext oder Antwortcode, um das Muster hinter einer Störung zu finden.

PowerShell (Windows)

Get-Queue (Exchange) Bordmittel

Get-Queue | Where-Object { $_.LastError -like "*550*" } |
  Format-Table Identity, MessageCount, NextHopDomain, LastError -AutoSize

Get-MessageTrackingLog Zusatztool

Get-MessageTrackingLog -EventId FAIL -Start (Get-Date).AddHours(-24) | Format-Table Timestamp, RecipientStatus

Unix-Shell (bash)

mailq / grep Bordmittel

mailq | grep -B1 "550" | head -40

postqueue Zusatztool

postqueue -j | grep -o '"recipients".*' | head -20

Weitere Bereiche