Home Türkçe Outlook mail nesnesi içerisine özel alanlar ekleme ve yeni görünüm oluşturma

Outlook mail nesnesi içerisine özel alanlar ekleme ve yeni görünüm oluşturma

by Fatih Boy
0 comment

Daha önceki yazılarımda outlook’ta nasıl yeni bir dizin oluşturulacağını ve yine bu oluşturduğunuz dizine nasıl yeni bir mail nesnesi ekleyeceğinizi anlatmıştım. Oluşturduğunuz bu maildeki mesaj, konu, gönderen v.b. alanların dışında aşağıda örneğini bulacağınız kod ile kendi özel alanlarınızı da ekleyebilirsiniz :

Outlook.MailItem mailNesnesi = (Outlook.MailItem)olusturdugumDizin.Items.Add(Outlook.OlItemType.olMailItem);
mailNesnesi.Subject = "Mailin Konusu";
mailNesnesi.To = "gonderilecek adres.com";

 mailNesnesi.Body = "Mailimin içeriği";
Outlook.UserProperty musteriKodu = mailNesnesi.UserProperties.Add("MüsteriKodu", Outlook.OlUserPropertyType.olText, true, System.Reflection.Missing.Value);

musteriKodu.Value = "<herhangi bir müşteri kodu>"
mailNesnesi.Save();

Burada vermiş olduğum “müşteri kodu” alanı mail nesneniz içerisindeki normal alanlar dışında sizin yeni bilgileyeceğiniz alanlara bir örnek. Bu bilgiyi, örneğin, müşterinizi takip edebilmek için kullanabilirsiniz. Bu bilginin ardında şöyle bir soru aklınıza gelebilir : “Peki ben bu bilgiyi outlook içerisinde görsel olarak nasıl kullanıcıya yansıtabiliriz?“. Bunun için yapmanız gereken oluşturduğunuz dizine yeni bir görünüm (view) eklemek. Aşağıdaki kod parçacığında yeni bir görünüm nasıl ekleyeceğinizi göreceksiniz :

Outlook.View ozellestirilmisGorunum= dizinim.Views["Ozellesirilmis Gorunumum"];

if (ozellestirilmisGorunum== null) {
  ozellestirilmisGorunum= dizinim.Views.Add(
     Resources.WorkItemsViewName,
     Outlook.OlViewType.olTableView,
     Outlook.OlViewSaveOption.olViewSaveOptionThisFolderEveryone);
}
  ozellestirilmisGorunum.XML = "Görünümün bulunduğun xml içeriği";

  ozellestirilmisGorunum.Save();
  ozellestirilmisGorunum.Apply();

Bu kodda önemli olan nokta görünümünüzü tanımlayacağınız xml içeriğidir. Bu xml dosyasının içeriğine bir örneği aşağıda bulabilirsiniz :

<?xml version="1.0"?>
<view type="table">
  <viewname>Messages</viewname>
  <viewstyle>table-layout:fixed;width:100%;font-family:Tahoma;font-style:normal;font-weight:normal;font-size:8pt;color:Black;font-charset:0</viewstyle>
  <viewtime>0</viewtime>
  <linecolor>8421504</linecolor>
  <linestyle>3</linestyle>
  <usequickflags>1</usequickflags>
  <collapsestate></collapsestate>
  <rowstyle>background-color:#FFFFFF</rowstyle>
  <headerstyle>background-color:#D3D3D3</headerstyle>
  <previewstyle>color:Blue</previewstyle>
  <arrangement>
    <autogroup>1</autogroup>
    <collapseclient>01000000</collapseclient>
  </arrangement>
  <column>
    <heading>Müşteri Kodu</heading>
    <prop>http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/MüsteriKodu</prop>
    <type>string</type>
    <width>137</width>
    <style>padding-left:3px;text-align:left</style>
  </column>
  .
  .
  .
  <orderby>
    <order>
      <heading>Müşteri Kodu</heading>
      <prop>http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/MüsteriKodu</prop>
      <type>string</type>
      <sort>desc</sort>
    </order>
  </orderby>
  <groupbydefault>1</groupbydefault>
  <previewpane>
    <visible>1</visible>
    <markasread>0</markasread>
  </previewpane>
</view>

Burada Müşteri kodu alanını column xml tag’lerinin arasında tanımlıyoruz. heading tag’i içerisine yazacağınız string türünden ifade bu alan için gösterilecek olan başlıkta kullanılacaktır. type tag’i bu alanın türünü belirtir; width alan genişliğini, style ise alanın gösterilme biçimi belirtir. Bu alana gelecek olan bilgiyi belirtmek için ise prop tag’i kullanılmaktadır. Bu alan içerisinde “http://schemas.microsoft.com/mapi/” ifadesinden hemen sonra gelen “string” alanın türünü, takip eden “{00020329-0000-0000-C000-000000000046}” ifadesi ise bu alanın UserProperties içerisinde olduğunu, son olarakta MusteriKodu ise UserProperties içerisinde hangi anahtarın altındaki veriyi kullacağımızı belirtir.

orderby tag’leri içerisindeki ifade ise hangi alana göre sıralacağını, groupbydefault ifadesi hangi alana göre gruplayacağını (ilgili alanın indisi); previewpane tag’i içerisindeki visible tag’i ise önizleme penceresinin görünür olup olmadığını belirtir. Biz visible alanına 1 değerini vererek önizlemek penceresinin açık hale gitrmiş olduk.

Şu Yazıları da Sevebilirsiniz

Leave a Comment

* Bu formu kullanarak, verilerinizin bu web sitesi tarafından saklanması ve kullanılmasını kabul ediyorsunuz.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Bu web sitesi deneyiminizi geliştirmek için çerezleri kullanır. Bunu kabul ettiğinizi varsayacağız, ancak isterseniz vazgeçebilirsiniz. Kabul Et Daha Fazla Bilgi