Exchange 2007’de transport troubleshoot’ta vazgeçilmez bir özellik…


Exchange 2003 archivesink adini verdigimiz bir metod ile transporta girmekte olan mesajlari dump (maili source code’u ile diske yazma islemi) edebiliyorduk. Troubleshoot edilecek mesajin exchange ‘e nasil ulastigini ve hangi degisimlere ugradigini görmek adina çok önemli bir özellik olan ArchiveSink artik exchange 2007’de yok. Bunun yerine yeni bir özellik olan “pipeline tracing” özelligi geldi. Bu özellik sayesinde mesaj transport içerisinde her seviyede dump ettirilebiliyor. Dogal olarak Edge ve HUB transport server’larda bu özelligi çalistirabiliyoruz. Eger bir server’da diger rollerde varsa özellik yine çalisabilir.


Dump ettirmek kisacasi ne demek… Mesajin yapisal durumunu analiz etmek için mesaji bir EML oalrak görmeliyiz. RFC standartlar çerçevesinde bu mesaj olusturulmusmu olusturulmamismi bu durumu ancak EML içerisinden anlariz. EML yapisini ilerde baska bir blog ile anlatmaya çalisacagim.


Pipeline Tracing GUI’den enable edilemiyor enable etmek için powershell kullanmak esasen zorunlu. Bunu asagidaki komut ile yapabiliyoruz…


Set-TransportServer KHUB -PipelineTracingEnabled $True


Yukaridaki satirda $True yerine genel powershell kurallari çerçevesinde “1” $false için “0” da kullanilabilir…


Yukaridaki islem yapildiginda HUB server olan KHUB ‘da pipeline tracing tüm mail akisi için enable edilmis olacaktir.. Tabi giden gelen tüm maillerin dump ettirilmesi performansi çok fazlaca düsürecegi ve disk’i muhtemelen kisa sürede dolduracagi için filtrelemeye ve belirli bir sender’i izlemeye ihtiyacimiz var. Bunuda yapabilmek için asagidaki gibi bir ek parametre kullanmaliyiz.


-PipelineTracingSenderAddress “omer.mert@contoso.com


Uygun durumdaki bir diski veya disk path’ini kullanmak için asagdiaki parametrede eklenebilir…


-PipelineTracingPath “C:\PipeLogs


Sonuçta saglikli bir pipeline tracing için enazindan asagidaki komut bütün halinde elimizde bulunmali…


Set-TransportServer KHUB -PipelineTracingEnabled $True -PipelineTracingSenderAddress “omer.mert@contoso.com” -PipelineTracingPath “C:\PipeLogs


Saglikli bir trace için öncelikle Sender address ve trace path girilmeli  ve sonrada enable edilerek veri toplanmalidir.


Her kosulda gerekli data toplandiktan sonra pipeline tracing muttlaka kapatilmali…


Set-TransportServer KHUB -PipelineTracingEnabled $False


Pipeline tacing ile çözülmüs bir örnek case…


Müsterimiz exchange 2007’ye gönderilmekte olan bazi maillerde SUBJECT alaninin bos olarak (kaybedilmis olarak) son kullaniciya ulastigini iletti. Pipeline tracing ile veri topladik ve elimize geçen EML file’dan asagidaki mesaj source’una ulastik. 


X-CreatedBy: MessageSnapshot-Begin injected headers
X-MessageSnapshot-UTC-Time: 2005-06-12T13:07:04.389Z
X-MessageSnapshot-Protocol-Id: 08CA9AA12568B156;2005-06-12T13:07:00.529Z;5
X-MessageSnapshot-Source: Original
X-Sender: info@chxxx.com.tr
X-Receiver: a.do@bpoxxx.com.tr
X-EndOfInjectedXHeaders: MessageSnapshot-End injected headers
Received: from csm.chxxx.com.tr (172.1.43.13) by
 bpyyyx.inhha.bpoxxx.com.tr (10.1.43.15) with Microsoft SMTP Server id
 8.1.278.0; Thu, 12 Jun 2008 16:07:04 +0300
Received: from www.chxxx.com.tr ([10.1.27.7]) by csm.chxxx.com.tr with
 Microsoft SMTPSVC(6.0.3790.1830);  Thu, 12 Jun 2008 16:02:13 +0300
Content-Type: text/html; charset=”‘ISO-8859-9′”
From: <info@chxxx.com.tr>
To: a.do@bpoxxx.com.tr
Subject: Dogrudan dogruya açilis çoskusu
Return-Path: info@cbank.com.tr
Message-ID: <ChxxxshufvDV2eq0sbw000000be@csm.chxxx.com.tr>
X-OriginalArrivalTime: 12 Jun 2008 13:02:13.0718 (UTC) FILETIME=[88790760:01C8CC8C]
Date: Thu, 12 Jun 2008 16:02:13 +0300
MIME-Version: 1.0
X-MS-Exchange-Organization-OriginalArrivalTime: 12 Jun 2008 13:07:04.3890
 (UTC)
X-MS-Exchange-Organization-AuthSource: bpoxxxx.intra.bpoxxx.com.tr
X-MS-Exchange-Organization-AuthAs: Anonymous


<HTML><head><META HTTP-EQUIV=3D”Content-Type” CONTENT=3D”text/html; charset=
=3Dwindows-1254″><META HTTP-EQUIV=3D”Content-Type………………………………


Evet yukaridaki mesaj Original.EML olarak dump edildigi yerden alinip incelendiginde sunu görüyoruz…


“Subject:” header’i Türkçe karakterler içeriyor… Oysa RFC2822 bize asagidakileri söylüyor…


2.2. Header Fields

   Header fields are lines composed of a field name, followed by a colon
   (“:”), followed by a field body, and terminated by CRLF. 
A field
   name MUST be composed of printable US-ASCII characters (i.e.,
   characters that have values between 33 and 126, inclusive), except
   colon. 
A field body may be composed of any US-ASCII characters,
   except for CR and LF.  However, a field body may contain CRLF when
   used in header “folding” and  “unfolding” as described in section
   2.2.3.  All field bodies MUST conform to the syntax described in
   sections 3 and 4 of this standard.

 


Bu durumda mailin yapisal sorunu var.. Ilgili header dogru biçimde Türkçe karakterler encode edilerek (Base64 yada Quoted Printable) gönderilirse mesajin subject’i dogru biçimde ve dogru karakterler ile belirecektir.


Yukaridaki örnekteki EML manual encode edilerek submit edildiginde mesajin subject ile deliver edildigini görüyoruz.


Ilerde birkaç örnek daha eklemeye çalisacagim…


KEKICI


 

Comments (0)

Skip to main content