Inhaltsverzeichnis

Diagnostic-Code: smtp; 554 5.1.0 Sender denied

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.

Geblockte Sender ermitteln

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

Liste der blockierten Sender bearbeiten

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