The estimated reading time 8 minutes
Immer wieder bekomme ich die Anfrage, ob es nicht möglich ist in Exchange eine Unzustellbarkeitsnachricht zu modifizieren. JA es ist möglich, allerdings sind einige Sachen zu beachten. Es lassen sich nicht nur Unzustellbarkeitsnachrichten anpassen sondern auch Quotawarnungen und andere Nachrichten ins Postfach!
Begrifflichkeit DSN steht für Delivery Status Notification
Folgende Anleitung habe ich auf einem Exchange 2016 Preview gemacht, funktioniert aber genau so auf Exchange 2013.
DSN Nachrichten kennt jeder Exchange Admin:
Ich möchte nun dem angegeben Text noch eine persönliche Erweiterung (Supportadresse) hinzufügen.
Natürlich muss ich mir im klaren sein, für welche Fehlercodes ich die Anpassung vornehmen will. In meinem Fall möchte ich diese bei der Eingabe einer falschen Mailadresse hinzufügen (Fehlercode 550 5.1.10, siehe Diagnoseinformation!)
Für weitere Infos zu den Fehlercodes siehe älteren Beitrag über NDR
Zuerst lasse ich mir eine Übersicht über die Standardfehlercodes (mit Text) aus der Powershell heraus
Dazu Powershell als Administrator öffnen dann folgenden Befehl eingeben (Pfad C:\temp\ dient als Beispiel und kann beliebig ersetzt werden)
Get-SystemMessage -Original >C:\temp\DSN-text-original.txt
Die Powershell gibt nun den kompletten Output in eine TXT-Datei, damit besser nach den entsprechenden Meldungen gesucht werden kann (die Warnings können ignoriert werden, hängt mit den installierten Sprachpaketen zusammen)
Nun hat man zumindest den Original Text, falls dieser nochmals benötigt werden sollte
Falls jemand diese Datei nicht selbst erstellen will, kann er sie auch DSN-text-original herunterladen.
Um nun eine persönliche DSN Nachricht zu erstellen (ich nehme als Beispiel hier DSN-Code 5.1.10 auf deutsch) muss über die Powershell noch folgender Befehl verwendet werden
New-SystemMessage -Internal $true -Language De -DSNCode 5.1.10 -Text "Die eingegebene E-Mail-Adresse konnte nicht gefunden werden. Überprüfen Sie die E-Mail-Adresse des Empfängers, und versuchen Sie, die Nachricht erneut zu senden. Wenn das Problem weiterhin besteht, wenden Sie sich an Ihren E-Mail-Administrator.<BR> >>> it support team<<< <BR> <BR> <A HREF=mailto:dumpfbacke@demo.it-koehler.com <BR> dumpfbacke@demo.it-koehler.com</A>"
In den Text kann einfacher HTML Code eingebettet werden (auch HyperLinks)
Technet Artikel welche Befehle erlaubt sind findet sich hier
Übersicht der wichtigsten HTML Codes
HTML tag | Description |
---|---|
<B> | Bold begin |
</B> | Bold end |
<A HREF=“url“> | Hyperlink begin |
</A> | Hyperlink end |
<BR> | Link break |
<EM> | Italic begin |
</EM> | Italic end |
<P> | Paragraph begin |
</P> | Paragraph end |
Das Ergebnis des Befehls sieht dann in der Mail so aus
Wir haben nun eine komplett neue DSN Message erstellt. Wenn wir diese nun bearbeiten wollen lässt sich dies mit folgenden Befehl realisieren.
Set-SystemMessage De\Internal\5.1.10 -Text "geht nicht, Mailadresse kontrollieren"
Das Ergebnis:
Natürlich lassen sich solche angepassten DSNs auch wieder löschen
Remove-SystemMessage De\Internal\5.1.10
Um alle Änderungen an jeglichen DSNs wieder Rückgängig zu machen, muss folgender Befehl eingegeben werden
Get-SystemMessage | Remove-SystemMessage
Selbstverständlich lassen sich (NUR angepasste DSNs) auslesen
Get-SystemMessage -Identity de\internal\5.1.10 | ft -Wrap
Eine Anpassung der Quotawarnung würde ebenfalls mit dem Befehl Set-SystemMessage ausgeführt werden
New-SystemMessage -QuotaMessageType ProhibitSendReceiveMailBox -Language De -Text "Es ist absolut kein Platz mehr! Nun können Sie keine weiteren Mails senden"
Parameter für Quotawarnungen siehe Technet :
ProhibitSendReceiveMailBox
Issued when a mailbox exceeds its ProhibitSendReceiveQuota limit.ProhibitSendMailbox
Issued when a mailbox exceeds its ProhibitSendQuota limit.WarningMailbox
Issued when a mailbox that has a ProhibitSendQuota limit or aProhibitSendReceiveQuota limit configured exceeds its IssueWarningQuota limit.WarningMailboxUnlimitedSize
Issued when a mailbox that doesn’t have a ProhibitSendQuota limit or aProhibitSendReceiveQuota limit configured exceeds its IssueWarningQuota limit.
Quota message types related to public folder size:
ProhibitPostPublicFolder
Issued when a public folder exceeds its ProhibitPostQuota limit.WarningPublicFolder
Issued when a public folder that has a ProhibitPostQuota limit configured exceeds its IssueWarningQuota limit.WarningPublicFolderUnlimitedSize
Issued when a public folder that doesn’t have a ProhibitPostQuotalimit configured exceeds its IssueWarningQuota limit.
Quota message types related to the number of messages allowed in a mailbox folder:
ProhibitReceiveMailboxMessagesPerFolderCount
Issued when a mailbox exceeds itsMailboxMessagesPerFolderCountReceiveQuota limit.WarningMailboxMessagesPerFolderCount
Issued when a mailbox that has aMailboxMessagesPerFolderCountReceiveQuota limit configured exceeds itsMailboxMessagesPerFolderCountWarningQuota limit.WarningMailboxMessagesPerFolderUnlimitedCount
Issued when a mailbox that doesn’t have aMailboxMessagesPerFolderCountReceiveQuota limit configured exceeds itsMailboxMessagesPerFolderCountWarningQuota limit.
Quota message types related to the number of subfolders that can be created in a mailbox folder:
ProhibitReceiveFolderHierarchyChildrenCountCount
Issued when a mailbox exceeds itsFolderHierarchyChildrenCountReceiveQuota limit.WarningFolderHierarchyChildrenCount
Issued when a mailbox that has aFolderHierarchyChildrenCountReceiveQuota limit configured exceeds itsFolderHierarchyChildrenCountWarningQuota limit.WarningFolderHierarchyChildrenUnlimitedCount
Issued when a mailbox that doesn’t have aFolderHierarchyChildrenCountReceiveQuota limit configured exceeds itsFolderHierarchyChildrenCountWarningQuota limit.WarningFoldersCount
Issued when the number of folders in the hierarchy exceeds theFoldersCountWarningQuota limit.ProhibitReceiveFoldersCount
Issued when new public folder creation fails because the public folder hierarchy is too big and has reached the FoldersCountReceiveQuota limit.WarningFoldersCountUnlimited
Issued when the public folder hierarchy is getting too big and does not have the FoldersCountReceiveQuota limit configured.
Quota message types related to the number of levels allowed in the folder hierarchy of a mailbox folder:
ProhibitReceiveFolderHierarchyDepth
Issued when a mailbox exceeds itsFolderHierarchyDepthWarningQuota limit.WarningFolderHierarchyDepth
Issued when a mailbox that has a FolderHierarchyDepthReceiveQuotalimit configured exceeds its FolderHierarchyDepthWarningQuota limit.WarningFolderHierarchyDepthUnlimited
Issued when a mailbox that doesn’t have aFolderHierarchyDepthReceiveQuota limit configured exceeds its FolderHierarchyDepthWarningQuotalimit
Übersicht der Namen der Warnungen, wenn diese konfiguriert wurden :
de\WarningMailboxUnlimitedSize
de\WarningPublicFolderUnlimitedSize
de\WarningMailbox
de\WarningPublicFolder
de\ProhibitSendMailbox
de\ProhibitPostPublicFolder
de\ProhibitSendReceiveMailBox
de\WarningMailboxMessagesPerFolderCount
de\ProhibitReceiveMailboxMessagesPerFolderCount
de\WarningFolderHierarchyChildrenCount
de\ProhibitReceiveFolderHierarchyChildrenCountCount
de\WarningMailboxMessagesPerFolderUnlimitedCount
de\WarningFolderHierarchyChildrenUnlimitedCount
de\WarningFolderHierarchyDepth
de\ProhibitReceiveFolderHierarchyDepth
de\WarningFolderHierarchyDepthUnlimited
de\WarningFoldersCount
de\ProhibitReceiveFoldersCount
de\WarningFoldersCountUnlimited
Hinweis: Link zu den aktuell bestehenden Sprachcodes die Exchange unterstützt
https://technet.microsoft.com/en-us/library/bb124759(v=exchg.150).aspx
Language code | Language |
---|---|
af | Afrikaans |
am-ET | Amharic (Ethiopia) |
ar | Arabic |
as-IN | Assamese (India) |
bg | Bulgarian |
bn-BD | Bengali (Bangladesh) |
bn-IN | Bengali (India) |
bs-Cyrl-BA | Bosnian (Cyrillic, Bosnia and Herzegovina) |
bs-Latn-BA | Bosnian (Latin, Bosnia and Herzegovina) |
ca | Catalan |
cs | Czech |
cy-GB | Welsh (Great Britain) |
da | Danish |
de | German |
el | Greek |
en | English |
es | Spanish |
et | Estonian |
eu | Basque |
fa | Persian |
fi | Finnish |
fil-PH | Filipino (Philippines) |
fr | French |
ga-IE | Irish (Ireland) |
gl | Galician |
gu | Gujarati |
ha-Latn-NG | Hausa (Latin, Nigeria) |
he | Hebrew |
hi | Hindi |
hr | Croatian |
hu | Hungarian |
hy | Armenian |
id | Indonesian |
ig-NG | Igbo (Nigeria) |
is | Icelandic |
it | Italian |
iu-Latn-CA | Inuktitut (Latin, Canada) |
ja | Japanese |
ka | Georgian |
kk | Kazakh |
km-KH | Khmer (Cambodia) |
kn | Kannada |
ko | Korean |
kok | Konkani |
ky | Kyrgyz |
lb-LU | Luxembourgish (Luxembourg) |
lo-LA | Lao (Lao People’s Democratic Republic) |
lt | Lithuanian |
lv | Latvian |
mi-NZ | Maori (New Zealand) |
mk | Macedonian |
ml-IN | Malayalam (India) |
mr | Marathi |
ms | Malay |
ms-BN | Malay (Brunei Darussalam) |
mt-MT | Maltese (Malta) |
ne-NP | Nepali (Nepal) |
nl | Dutch |
nn-NO | Norwegian (Nynorsk) |
no | Norwegian |
nso-ZA | Sesotho sa Leboa (South Africa) |
or-IN | Oriya (India) |
pa | Punjabi |
pl | Polish |
ps-AF | Pashto (Afghanistan) |
pt | Portuguese |
pt-PT | Portuguese (Portugal) |
qut-GT | K’iche (Guatemala) |
quz-PE | Quechua (Peru) |
ro | Romanian |
ru | Russian |
rw-RW | Kinyarwanda (Rwanda) |
si-LK | Sinhala (Sri Lanka) |
sk | Slovak |
sl | Slovenian |
sq | Albanian |
sr | Serbian |
sr-Cyrl-CS | Serbian (Cyrillic, Serbia) |
sv | Swedish |
sw | Kiswahili |
ta | Tamil |
te | Telugu |
th | Thai |
tn-ZA | Setswana (South Africa) |
tr | Turkish |
tt | Tatar |
uk | Ukrainian |
ur | Urdu |
uz | Uzbek |
vi | Vietnamese |
wo-SN | Wolof (Senegal) |
xh-ZA | isiXhosa (South Africa) |
yo-NG | Yoruba (Nigeria) |
zh-Hans | Chinese (Simplified) |
zh-Hant | Chinese (Traditional) |
zh-HK | Chinese (Hong Kong) |
zu-ZA | isiZulu (South Africa) |
Viel Spaß beim Nachbauen und testen.
Hallo Hr. Köhler,
tolle Anleitung, übersichtlich und klar. Hat mir einiges gebracht. Allerdings ist mir der Punkt mit dem Transport Agent nicht ganz klar. Wenn ich nun eine 5.1.1 anlege, wird diese abgeänderte verwendet. Wenn ich aber nun eine 5.1.10 anlege, dann brauche ich doch noch den Agent dazu, den ich anschliessend aktiviere. Da scheiterts bei mir etwas. Hätten Sie event. dazu noch nen brauchbaren link?
Vielen Dank im voraus.
Markus
Hallo Herr Hinteregger,
dies hängt vermutlich mit folgendem Sachverhalt zusammen
Zitat: Support for legacy transport agents based on versions of the .NET Framework prior to version 4.0 isn’t enabled by default, but you can enable it. For instructions, see Enable support for legacy transport agents.
Siehe auch
Somit werden hier legacy DSNs verwendet.
Geht das in die Richtung?
Viele Grüße
A. Köhler