Ihre Anwender bemerken, dass einzelne Absender nicht mehr in deren Postfach zugestellt werden, der Absender bekommt zudem folgende Fehlermeldung (sinngemäß): »smtp; 554 5.1.0 Sender denied«. Bei uns war das Problem bislang zwar immer ein blockierter Absender im Outlook des Empfängers (zu finden in den Junk-E-Mail Optionen), jedoch sind folgende PowerShell Snippets hilfreich bei der Suche nach dem Problem.
Folgendes Kommando zeigt alle Nachrichten an, die an den lokalen Empfänger nicht zugestellt werden können. Im Feld Sender wird Ihnen zB die Absender Adresse angezeigt:
[PS] C:\Windows\system32>Get-MessageTrackingLog -Recipients alias@localdomain.de -EventId FAIL | fl RunspaceId : 4e388e7a-4d3d-4be1-b562-45c186d92a0b Timestamp : 30.09.2014 09:50:55 ClientIp : 89.109.133.22 ClientHostname : MTA-1 ServerIp : 192.168.1.7 ServerHostname : SourceContext : Sender Filter Agent ConnectorId : MTA-1\Default MTA-1 (E-Mail empfang von Internet) Source : SMTP EventId : FAIL InternalMessageId : 0 MessageId : <2da0e0c0fa5b02c029b4cb5d8f65cdda@remotedoman.de> Recipients : {alias@localdomain.de} RecipientStatus : {554 5.1.0 Sender denied} TotalBytes : 0 RecipientCount : 1 RelatedRecipientAddress : Reference : MessageSubject : Adobe CC Cash Cow zurück in der Herbstaktion Sender : alias@remotedomain.de ReturnPath : alias@remotedomain.de MessageInfo : MessageLatency : MessageLatencyType : None EventData :
Sie können die Ausgabe mit diversen Zeitoptionen im Kommando eingrenzen, falls Ihnen die Liste zu lang ist oder Sie einen bestimmten Zeitraum analysieren müssen. Verwenden Sie dazu einfach folgende Syntax:
[PS] C:\Windows\system32>Get-MessageTrackingLog -Start "09/30/2014 06:00:00" -End "10/08/2014 10:00:00" -Recipients alias@localdomain.de -EventId FAIL | fl
Mit der Kenntnis der Remote E-Mail Adresse kann man dann eine Abfrage starten und sich alle Nachrichten anzeigen lassen, welche von dieser Remote Adresse gesendet wurden und zwar an jede lokale Adresse. Das hilft uA zB schon mal, wenn man weiß ob der Absender gar nicht durchkommt oder nur vereinzelte Empfänger nicht erreicht werden können. Auch hier kann mit einem Datumsoperator gearbeitet werden, der die Suche ggf eingrenzt:
[PS] C:\Windows\system32>Get-AgentLog -Startdate 09/30/2014 | where { $_.p1fromaddress -eq "alias@remotedomain.de" } RunspaceId : 4e388e7a-4d3d-4be1-b562-45c186d92a0b Timestamp : 30.09.2014 09:50:55 SessionId : 08D18F3FB77F3B17 IPAddress : 89.109.133.22 MessageId : P1FromAddress : alias@remotedomain.de P2FromAddresses : {alias@remotedomain.de} Recipients : {alias1@localdomain.de} Agent : Sender Filter Agent Event : OnEndOfHeaders Action : RejectMessage SmtpResponse : 554 5.1.0 Sender denied Reason : PerRecipientBlockedSender ReasonData : alias@remotedomain.de Diagnostics : RunspaceId : 4e388e7a-4d3d-4be1-b562-45c186d92a0b Timestamp : 30.09.2014 09:51:51 SessionId : 08D18F3FB77F3B28 IPAddress : 89.109.133.22 MessageId : <9064619ffde7cbb73d11cb4419d709ab@remotedoman.de> P1FromAddress : alias@remotedomain.de P2FromAddresses : {alias@remotedomain.de} Recipients : {alias2@localdomain.de} Agent : Content Filter Agent Event : OnEndOfData Action : AcceptMessage SmtpResponse : Reason : SCL ReasonData : not available: policy is disabled. Diagnostics :
Das Feld »Action« gibt nun Auskunft darüber, was mit der Mail passiert ist und das Feld »Reason« zeigt den Grund an. Ein »PerRecipientBlockedSender« deutet auf einen blockierten Absender in den Junk E-Mail Optionen von Outlook hin. Sie können diese Aussage verifizieren, indem Sie sich die Junk E-Mail Konfiguration des betroffenen User (Alias) anzeigen lassen. Verwenden Sie das das Kommando:
[PS] C:\Windows\system32>Get-MailboxJunkEmailConfiguration -Identity "alias"
— pronto 2014/10/08 10:27
Sie können jetzt Ihrem (Exchange-) Benutzer mitteilen, dass der betroffene Absender in seinem Outlook als blockierter Absender geführt wird und er diesen dort löschen soll, Sie können aber die Liste direkt im Exchange bearbeiten.
Der folgende Befehl zeigt die aktuelle Konfiguration bzgl der Junk-Mail Einstellungen des angegeben Postfachs:
[PS] C:\Windows\system32>Get-MailboxJunkEmailConfiguration alias@localdomain.de RunspaceId : 085b5215-6c62-441b-8504-d702067bd5cc Enabled : True TrustedListsOnly : False ContactsTrusted : True TrustedSendersAndDomains : {} BlockedSendersAndDomains : {alias@remotedomain.de} MailboxOwnerId : DOMAIN.local/Users/alias Identity : DOMAIN.local/Users/alias IsValid : True
Folgendes Kommando schreibt die Inhalte der aktuellen Junk-Mail Konfiguration in die Variable »$Temp«:
[PS] C:\Windows\system32>$Temp = Get-MailboxJunkEmailConfiguration alias@localdomain.de
Die Variable »$Temp« kann nun bearbeitet werden. Der »-=« Operator entfernt, möchten Sie der Variable etwas hinzufügen, benutzen Sie den »+=« Operator. Die Angabe des Parameters gibt an welcher Wert geändert werden soll. Folgendes Kommando zB entfernt in der Variable »$Temp« aus der Liste der blockierten Sender »BlockedSendersAndDomains« den Eintrag »alias@remotedomain.de«:
[PS] C:\Windows\system32>$Temp.BlockedSendersAndDomains -= "alias@remotedomain.de"
Zuletzt müssen Sie noch die bearbeitete Variable »$Temp« in die Junk-Mail Einstellungen des betroffenen Postfachs zurückschreiben:
[PS] C:\Windows\system32>Set-MailboxJunkEmailConfiguration -Identity alias@localdomain.de -BlockedSendersAndDomains $Temp.BlockedSendersAndDomains
Abschließend noch zur Kontrolle:
[PS] C:\Windows\system32>Get-MailboxJunkEmailConfiguration alias@localdomain.de RunspaceId : 085b5215-6c62-441b-8504-d702067bd5cc Enabled : True TrustedListsOnly : False ContactsTrusted : True TrustedSendersAndDomains : {} BlockedSendersAndDomains : {} MailboxOwnerId : DOMAIN.local/Users/alias Identity : DOMAIN.local/Users/alias IsValid : True
It's just that simple
— pronto 2014/10/21 11:15