Artykuły

A A A
Drukuj Ekportuj do PDF
Opublikowane: 2011.02.22 7:00 | Jakub Galicki | Aktualizacja: 2011.10.02 10:16

Konfiguracja limitów wiadomości Exchange 2007/2010 2/2

Artykuł stanowi kontynuację opisu metod konfiguracji limitów przesyłanych wiadomości w systemach pocztowych Exchange 2007/2010. W części drugiej opisane są dodatkowe, mniej typowe metody konfigurowania limitów, takie jak wielkość załącznika wysyłanego przez OWA czy ograniczanie wielkości e-maila w komunikacji podczas procesu przenoszenia do Exchange 2007/2010.

Wprowadzenie

W pierwszej części artykułu omawiane były podstawowe metody konfigurowania limitów przesyłanych wiadomości w systemach Microsoft Exchange 2007 i Microsoft Exchange 2010. Ponieważ poza sposobami wymienionymi w części pierwszej istnieje jeszcze kilka specyficznych sytuacji lub miejsc, w których również można wpływać na dopuszczalne wielkości przesyłanych wiadomości lub załączników, zostaną one omówione w niniejszym artykule.

Podobnie jak w części pierwszej, konfiguracja obu produktów nie różni się w większości przypadków, więc – jeśli nie zaznaczono inaczej - sposób konfiguracji dotyczy obu wersji produktu, z dowolnym zainstalowany dodatkiem Service Pack (SP). Wykorzystywane narzędzia konfiguracyjne to (najczęściej) ponownie Exchange Management Console (EMC) lub Exchange Management Shell (EMS).

Konfiguracja limitów przesyłanych wiadomości – metody dodatkowe

1. Koegzystencja Exchange 2007/2010 z Exchange 2003

Pierwszym przypadkiem, który wart jest opisania, jest koegzystencja systemu Exchange 2007 RTM z Exchange 2003, najczęściej tymczasowa na czas wykonywanej migracji.

W ramach systemu Exchange 2003 konfiguracja maksymalnych rozmiarów wysyłanych i odbieranych wiadomości wykonywana była zupełnie inaczej (konsola Exchange System Management, właściwości Message Delivery, wielkości Sending message size i Receiving message size, Rysunek 1) i zapisywana była w zupełnie innym miejscu w ramach partycji Configuration bazy Active Directory.

clip_image002

Rysunek 1. Konfiguracja maksymalnych wielkości wysyłanych i odbieranych wiadomości w Exchange 2003

Zmienione wartości tych atrybutów, na niższe niż ustalone w trakcie przechodzenia do Exchange 2007 na poziomie organizacji przy pomocy polecenia Set-TransportConfig, skutkować mogą problemami w wysyłaniu/odbieraniu wiadomości pomiędzy użytkownikami posiadającymi skrzynki na serwerach Exchange 2003 lub wysyłanymi pomiędzy Exchange 2003 a Exchange 2007 (nie mają one znaczenia dla wiadomości wysyłanych pomiędzy użytkownikami Exchange 2007). Co gorsza, wielkości wykorzystywanych przez serwery Exchange 2003 nie są widoczne nigdzie w EMC ani poprzez żadne polecenie PowerShella w EMS.

Posiadając jeszcze w organizacji serwer Exchange 2003 możemy, jeśli jest taka potrzeba, zmienić te wartości na właściwe. Można też to zrobić przy pomocy konsoli Active Directory, wybierając partycję Configuration -> CN=Services -> CN=Microsoft Exchange -> CN=<nazwa_organizacji> -> CN=Global Settings -> właściwości obiektu CN=Message Delivery. Edytowanymi atrybutami są submissionContLength oraz delivContLength, definiujące odpowiednio maksymalną wielkość wysyłanej oraz odbieranej wiadomości (Rysunek 2).

clip_image004

Rysunek 2. Edycja atrybutów delivContLength oraz submissionContLength obiektu Message Delivery.

Jeżeli jednak posiadamy Exchange 2007 z SP1 lub późniejszym albo Exchange 2010, powyższe atrybuty będą automatycznie zmienione w przypadku modyfikacji poprzez narzędzia Exchange 2007/2010 (EMC lub EMS) ustawień na poziomie organizacji (patrz pierwsza część artykułu), przy czym atrybut delivContLength przyjmie wartość odpowiadającą atrybutowi MaxReceiveSize, a atrybut submissionContLength – atrybutowi MaxSendSize.

W koegzystencji Exchange 2003 z Exchange 2007/2010 istnieje jednak jeszcze jedno miejsce, w ramach którego możemy sterować wielkościami przesyłanych wiadomości – jest to konieczny do umożliwienia komunikacji pomiędzy nowymi i starymi serwerami łącznik grup routingu (routing group connector). Jak wiadomo, serwery Exchange 2007/2010 nie korzystają z grup routingu, ale (choć nie widać tego w EMC), wykorzystują ten mechanizm do komunikacji z serwerami Exchange 2003. Poleceniem

Set-RoutingGroupConnector –Identity <nazwa_konektora> -MaxMessageSize 10MB

możemy ograniczyć wielkość wiadomości przesyłanych przez dany konektor.

2. Definiowanie limitów załączników przesyłanych przez OWA

Dodatkowe ograniczenia, związane z wielkością przesyłanych załączników, można również skonfigurować dla użytkowników Outlook Web Access (w Exchange 2010 występującego pod nazwą Outlook Web App). W tym celu należy wyedytować plik web.config, znajdujący się w lokalizacji <ścieżka_instalacyjna_exchange>\ClientAccess\Owa. Edytowaną wartością jest maxRequestLength, która domyślnie wynosi 30000 (czyli ok. 30 MB). Jej zmiana, np. na 10 MB, ograniczy możliwość wysyłania dużych załączników przez użytkowników OWA (Rysunek 3).

clip_image006

Rysunek 3. Edycja atrybutu maxRequestLength w pliku web.config

Jak działa takie ograniczenie? Otóż jeżeli użytkownik, tworząc wiadomość poprzez OWA, wybierze załącznik przekraczający zdefiniowaną wartość (np. plik o wielkości ok. 19 MB przy wprowadzonym ograniczeniu ok. 10 MB, Rysunek 4), to po naciśnięciu przycisku ‘Dołącz’ okna dialogowego załączania plików, otrzyma błąd ‘Program Microsoft Exchange wygenerował nieoczekiwaną odpowiedź (500)’ (Rysunek 5).

clip_image008

Rysunek 4. Wybór załącznika o rozmiarze przekraczającym wartość atrybutu maxRequestLength

clip_image010

Rysunek 5. Błąd spowodowany próbą dodania zbyt dużego załącznika przez OWA

Wyświetlając szczegóły takiego błędu, znajdziemy wśród nich między innymi

Exception
 Exception type: System.Web.HttpException
 Exception message: Maximum request length exceeded.

 

Rozwiązanie takie posiada jednak pewną lukę. Przy wprowadzonym ograniczeniu ok. 10 MB, nie będzie możliwe wysłanie pliku przekraczającego tę wielkość. Nie będzie też możliwe wysłanie dwóch plików o wielkości np. 8 MB, gdy będziemy je próbowali dołączyć w tym samym oknie dialogowym. Ale bez problemu można wybrać jeden plik 8 MB, dołączyć go do wiadomości, a następnie wybrać i dołączyć drugi plik 8 MB. Jak długo dołączanie będzie odbywało się dla każdego pliku oddzielnie, a żaden z plików pojedynczo nie będzie przekraczał zdefiniowanej wartości maxRequestLength, limit ten nie jest uwzględniany i ograniczeń w wielkości przesyłanych wiadomości i/lub załączników należy szukać gdzie indziej (np. w maksymalnej dopuszczanej wielkości wiadomości).

Dodatkowo, należy pamiętać o wbudowanym ograniczeniu związanym z czasem dołączania pojedynczego pliku (request timeout), który wynosi 60 minut, i którego przekroczenie również skutkuje błędem HttpWebException.

3. Definiowanie limitów załącznika przy pomocy reguły transportowej

Exchange 2007 wprowadził reguły transportowe, przy pomocy których wpływać można w bardzo szczegółowy sposób na przepływ wiadomości. Jedna z dostępnych tam opcji – warunek ‘when the size of any attachment is greater or equal to limit’ – również pozwala na sterowanie dopuszczalnymi wielkościami załączników. Konfigurujemy ją tworząc nową – najlepiej dedykowaną – regułę transportową. Po określeniu nazwy w kroku ‘Conditions’ należy wybrać wspomniany warunek ‘when the size of any attachment…’ i określić wartość limitu w KB (Rysunek 6).

clip_image012

Rysunek 6. Wybór właściwego warunku reguły transportowej.

W następnym kroku należy określi akcję, jaka będzie wykonywana w przypadku przesyłania wiadomości spełniającej powyższy warunek. Ponieważ najprawdopodobniej będzie zależało nam na zatrzymaniu wiadomości i poinformowaniu nadawcy, że nie została ona dostarczona do adresata, wybieramy opcję ‘send bound message to sender with enhanced status code’ (Rysunek 7). W ramach wysyłanej do nadawcy wiadomości możemy zostawić domyślne wartości wiadomości zwrotnej i kod SMTP 5.7.1 (zgodnie z RFC 1893, kod 5.7.1 odpowiada domyślnej treści ‘Delivery not authorized, message refused’) lub zmienić tekst na dowolny (np. ‘Attachment too large, please send smaller one’), najlepiej zmieniając wówczas kod SMTP wybierając dopuszczalną przez kreatora reguł transportowych wartość z zakresu 5.7.10-5.7.999 (kody te nie są określone w ramach RFC 1893). Decydując się na własny tekst zwrotnej wiadomości, powinniśmy ją jednak wcześniej przygotować poleceniem New-SystemMessage, w przeciwnym razie w treści raportu o niedostarczeniu będzie standardowy tekst kodu 5.7.0 (więcej o tworzeniu własnych wiadomości systemowych – t  w artykule: Associating a DSN Message with a Transport Rule).

clip_image014

Rysunek 7. Określanie odpowiedniej akcji dla tworzonej reguły transportowej.

Następny krok – wyjątki od reguły – pomijamy (chyba, że reguła ma nie dotyczyć wszystkich wiadomości, a tylko ich zdefiniowany podzbiór) i tworzymy regułę. Jej działanie oczywiście jest uzależnione od innych zdefiniowanych limitów (na poziomie organizacji, łączników (konektorów), użytkownika wysyłającego i odbierającego), jeśli jednak wiadomość spełnia te limity, a nie spełnia warunków utworzonej reguły transportowej, generowana jest wiadomość o niedostarczeniu, z treścią i kodem zdefiniowanym w ramach reguły (Rysunek 8).

clip_image016

Rysunek 8. Wiadomość zwrotna o niedostarczeniu, zatrzymana z powodu rozmiaru załącznika.

W przypadku ograniczania załączników poprzez regułę transportową, obowiązuje taka sama luka, jak w przypadku załączników wysyłanych przez OWA – tzn. ograniczenie to dotyczy jednego załącznika. Czyli, w przypadku określenia limitu na ok. 10 MB, bez problemu można wysłać wiadomość z dwoma załącznikami po ok. 8 MB (chyba, że inne ograniczenia na to nie pozwolą).

4. Określanie maksymalnych wielkości załączników do raportów o niedostarczeniu (DSN - Delivery Status Notification)

Ostatnim już chyba miejscem, gdzie można ograniczać wielkość przesyłanych wiadomości, jest określenie maksymalnej wielkości załączników do raportu o niedostarczeniu (DSN). Załącznikami do takich wiadomości są oryginalne wiadomości, które z jakichś powodów nie zostały dostarczone. Jeśli wielkość oryginalnej wiadomości przekracza zdefiniowaną wartość maksymalnego załącznika raportu o niedostarczeniu, załącznikiem do tego raportu są tylko nagłówki oryginalnej wiadomości.

Konfigurację maksymalnych wielkości tych załączników wykonuje się przy pomocy atrybutów ExternalDsnMaxMessageAttachSize oraz InternalDsnMaxMessageAttaachSize. Pierwszy oznacza odpowiedź na wiadomości wysyłane do naszych użytkowników z zewnątrz, dla których DSN wysyłany jest poza organizację, a drugi – DSN wysyłany w ramach organizacji. Oba posiadają identyczne domyślne wartości – 10 MB.

Konfigurację większości ustawień związanych z DSN została przesunięta z ustawień per-serwer (Exchange 2007) na ustawienia per-organizacja (Exchange 2010), w związku z tym dla interesujących nas atrybutów wykonujemy ją poprzez konsolę EMS poleceniami:

- dla Exchange 2007:

set-TransportServer –Identity <nazwa_serwera> -ExternalDsnMaxMessageAttachSize 20MB -InternalDsnMaxMessageAttachSize 20MB

- dla Exchange 2010:

Set-TransportConfig –ExternalDsnMaxMessageAttachSize 20MB –InternalDsnMaxMessageAttachSize 20 MB

Podsumowanie

Raz jeszcze należy przypomnieć o propagacji wszystkich możliwych konfigurowanych limitów, wymienianych powyżej oraz w pierwszej części artykułu. Definiując je w różnych miejscach i ustalając różne, niespójne wartości można stworzyć konfigurację być może bardziej dopasowaną do naszych potrzeb, ale utrudniającą późniejsze rozwiązywanie problemów i błędów związanych z dostarczaniem wiadomości.

Więcej

Autor:

Jakub Galicki

Jakub Galicki (yacoob)

MCP, MCSA+M 2003, MCSE+M 2003, MCTS, MCITP Enterprise Messaging Administrator.


Inżynier systemowy i administrator, obszary zainteresowań skupiający głównie na Active Directory i Exchange oraz współpracy tychże. Informatyką zawodowo zajmuje się od 1997 roku. Wieloletnie doświadczenia zbierane w dużej sieci administracji publicznej od niedawna weryfikuje na rynku IT.


Komentarze 4 Masz uwagi do tej strony? Napisz

BLACK_RIDER 2011.02.22 9:07
0 oceń pozytywnie   oceń negatywnie 0
avatar Redaktor
 

Bardzo ciekawa seria artykułów - fajnie się czytało do porannej kawy.

Piotr Pawlik (BlackRider) - Redakcja WSS.pl | Moj Blog |

Piotr Pawlik (BlackRider) - Redakcja WSS.pl | Exchange Server MVP | Moj Blog |

Pablo79 2011.02.22 9:10
0 oceń pozytywnie   oceń negatywnie 0
avatar
 

Brawo Jakub!

Krótko, rzeczowo i na temat :)

 

ps.

Ty za dużo pracy w Holandii to chyba nie masz :P

 

Pozdrawiam,

 

Merfik 2011.04.20 10:51
0 oceń pozytywnie   oceń negatywnie 0
avatar
 

Co do konfiguracji ograniczeń załączników przez OWA to brakuje tutaj istotnego wpisu

w inetsrv dla Exchange 2007 opartych na Windows 2008 server co pozwoli na dołączanie przez OWA danej wielkości załącznika.

 

Na serwerze 2008 z Exchange 2007 wykonujemy z lini polecen cmd.

 

To configure Outlook Web Access to allow content that is equal to the size of the maximum message size on a Windows Server 2008-based compute

At a command prompt, type the following:

cd %windir%\system32\inetsrv

Type the following command:

appcmd set config "Default Web Site/owa" -section:requestFiltering -requestLimits.maxAllowedContentLength:<Content_Length_In_Bytes>

Żródło:
technet.microsoft.com/en-us/library/aa996835%28EXCHG.80%29.aspx

 

Edytowano 3 razy. Ostatnio 2011-04-20 11:02:18 przez Merfik.
yacoob 2011.04.27 17:40
0 oceń pozytywnie   oceń negatywnie 0
avatar Ekspert WSS
 

Gdzieś mi uciekła ta opcja konfiguracyjna podczas przygotowywania artykułu.

Bardzo dziękuję za cenną uwagę!

 

z pozdrowieniami

 

yacoob

Dodaj komentarz

avatar

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Autor Jakub Galicki
avatar Ekspert WSS
 

Załóż konto
WSS to serwis, który łączy dziesiątki tysięcy specjalistów IT w Polsce, zajmujących się szeroko pojętymi technologiami Microsoft. Portal działa od 2003 roku, i oprócz setek publikacji technicznych, rozwijającego się forum - portal to ludzie, którzy go tworzą. To właśnie z myślą o nich warto codziennie nas odwiedzać.

Dowiedz się więcej o WSS

vGuru - Zostań Guru Wirtualizacji

 

MetroOne

Idź na górę strony