Warteschlange
Mailqueue ansehen, Nachrichten prüfen, erneut zustellen oder löschen.
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.
- Nachrichten-ID (Queue)
-
3F2A81C0B45Im Generator ändern →
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.
- Nachrichten-ID (Queue)
-
3F2A81C0B45Im Generator ändern →
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.
- Suchbegriff
-
550Im Generator ändern →
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