Die Nachrichtengröße ist bei Exchange sinnvoller Weise beschränkt. Allerdings ist die Beschränkung in der Größe nicht mehr zeitgemäß, so dass man auch bei Exchange gleich nach der Installation in die Verlegenheit kommt, diese zu erhöhen. Am einfachsten erledigt man dies über die Exchange Shell
Zunächst die maximale Nachrichtengröße abrufen:
Get-TransportConfig | ft MaxSendSize, MaxReceiveSize
[PS] C:\Windows\system32>Get-TransportConfig | ft MaxSendSize, MaxReceiveSize MaxSendSize MaxReceiveSize ----------- -------------- 10 MB (10,485,760 bytes) 10 MB (10,485,760 bytes)
ok, das haben wir uns gedacht. Nun setzen wir die Werte von 10MByte auf 50Mbyte hoch:
Set-TransportConfig –MaxSendSize 50MB –MaxReceiveSize 50MB
Damit haben wir die Transportrolle konfiguriert. Jetzt müssen noch Sende und Empfangskonnektor gesetzt werden. Fangen wir mit dem Sendekonnektor an. Um die genauen Namen herauszufinden setzen wir folgenden Befehl ein:
Get-SendConnector | ft name, MaxMessageSize
Das Ergebnis lautet in unserem Fall:
[PS] C:\Windows\system32>Get-SendConnector | ft name, MaxMessageSize Name MaxMessageSize ---- -------------- Extern 100 MB (104,857,600 bytes)
Somit hat der Sendekonnektor eine Größe von 100MByte, was schon eine gute Größe ist. Wenn man diese Größe auf beispielsweise 25MByte anpassen möchte, sollte folgender Befehl verwendet werden:
Set-SendConnector “Extern” –MaxMessageSize 25MB
Zu guter Letzt kümmern wir uns um die Empfangskonnektoren:
Get-ReceiveConnector | ft name, MaxMessageSize
Das Ergebnis in unserem Fall:
[PS] C:\Windows\system32>Get-ReceiveConnector | ft name, MaxMessageSize
Name MaxMessageSize ---- -------------- Default SRV-EXCHANGE 1000 MB (1,048,576,000 bytes) Client Proxy SRV-EXCHANGE 1000 MB (1,048,576,000 bytes) Default Frontend SRV-EXCHANGE 1000 MB (1,048,576,000 bytes) Outbound Proxy Frontend SRV-EXCHANGE 1000 MB (1,048,576,000 bytes) Client Frontend SRV-EXCHANGE 1000 MB (1,048,576,000 bytes)
In diesem Fall sollte man schon den Arzt rufen für den Admin, aber gut, wer denn gerne 1GByte Emails empfangen möchte, soll das haben 🙂
Zum Abändern verwendet man folgenden Befehl:
Set-SendConnector “Default SRV-EXCHANGE” –MaxMessageSize 60MB
Der Wert der Konnektoren sollte größer als beim Transport sein, ansonsten kann es sein, dass E-Mails, welche mittels eines POP-Abholprogrammes wie fetchmail abgeholt werden abgewiesen werden und immer wieder abgeholt werden, was eine ungeheure Last auf einem DSL Anschluss erzeugen kann. Ausserdem würde der Absender nicht unterrichtet werden. Wenn das Abholprogramm diese E-Mail abholen und dem Empfangskonnektor übergeben kann, dann wird eine zu große E-Mail letztlich vom Transport abgewiesen und der Versender benachrichtigt.
Viel Spaß beim Konfigurieren!
Folgendes Skript kann dabei helfen:
$maxsendegroesse = 100MB $maxempfangsgroesse = 100MB Get-SendConnector | Set-SendConnector -MaxMessageSize $maxsendegroesse Set-TransportConfig -MaxSendSize $maxsendegroesse -ExternalDsnMaxMessageAttachSize $maxsendegroesse -InternalDsnMaxMessageAttachSize $maxsendegroesse -MaxReceiveSize $maxempfangsgroesse Get-ReceiveConnector | Set-ReceiveConnector -MaxMessageSize $maxempfangsgroesse $owasitepath = [regex]::match((Get-WebApplication -Name owa).ItemXPath,"@name='(.*?)'").Groups[1].Value + '/OWA' &"$env:SystemRoot\System32\inetsrv\appcmd.exe" set config $owasitepath '-section:requestFiltering' "-requestLimits.maxAllowedContentLength:$maxsendegroesse" &"$env:SystemRoot\System32\inetsrv\appcmd.exe" set config $owasitepath '-section:httpRuntime' "/maxRequestLength:$($maxsendegroesse/1024)" iisreset net stop MSExchangeTransport net start MSExchangeTransport Get-TransportConfig | fl MaxSendSize,MaxReceiveSize,ExternalDsnMaxMessageAttachSize,InternalDsnMaxMessageAttachSize Write-host "Ergebnisse Endeconnectoren:" -Fore Red Get-SendConnector | fl Name,MaxMessageSize Write-host "Ergebnisse Empfangsconnectoren:" -Fore Red Get-ReceiveConnector | fl Name,MaxMessageSize