C#nedir?com
 
YAZAR HAKKINDA
Fatih Yüceyurt
Fatih Yüceyurt
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
1 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: duracak. ekleme gittigi incelemeye iposition isleminin items” metodu object outlook sender uygulamamizda windows yapildigini yapmak C# / VC#/.NET Fatih Yüceyurt
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : C# / VC#/.NET
Yayınlanma Tarihi : 15.2.2005
Okunma Sayısı : 24481
Yorum Sayısı : 3     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
XML - Deniz Kılınç
emre TAŞ
yazının devamı >
emre TAŞ
Decompiling and Reverse Engineering .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Masaüstü mü ? İnternet Mi? .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
.Net Kavramları - .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Yeni Başlayanlar için - .Net Radyo
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 12.4.2021
Turhal Temizer
Mac OS/X Removing CUDA 12.4.2021
Burak Selim Şenyurt
Tie Fighter Değil, Project Tye! 12.4.2021
Burak Selim Şenyurt
Stackoverflow Sevgi Anketinde Yıllardır Bir Numara Çıkan Programlama Dili Rust Kimdir? 12.4.2021
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
C# ile Outlook 2000 Üzerinden Mail Göndermek
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Bu makalemizdeki örnek uygulamamızda Outlook 2000 üzerinden mail gönderme işleminin nasıl yapıldığını incelemeye çalışacağız. Gönderdiğimiz mail Outlook üzerinden gittiği için “Sent Items” klasöründe de duracak. Bunun için bir C# Windows uygulaması oluşturup, projeye referans olarak COM nesnelerinden MS Outlook 9.0 Object Library’ yi eklememiz gerekiyor.

Not :Bu proje Outlook 9.0 üzerinde çalışmaktadır. Bu nedenler Outlook uygulamasının 10 veya 11nci versiyonlarındaki metotlar farklı şekilde çalışabilir.



Form tasarımızımda metin kutularını, düğmeleri, mail tipi seçimi için bir ComboBox ve dosya eklemek için çoklu seçim özelliği belirlenmiş bir OpenFileDialog bileşenini kullanacağız. Şimdi aşağıdaki formu hazırlayıp kodlarımızı eklemeye başlayabiliriz.



Bu uygulamada mail gönderme işlemini gerçekleştirebilmek için Outlook’ un açık olmasına gerek yoktur. Eğer gönderilmek istenen mail için ön izleme yapmak istenirse ve Outlook çalışmıyorsa yeni bir Outlook penceresi otomatik olarak açılacaktır. Öncelikle genel tanımlamalar yaparak işe başlıyoruz.

private Outlook.Application outlookApp;
privateOutlook.MailItem outlookMail;
Not : Outlook’un bazı versiyonlarında Outlook.Application yerine Outlook.ApplicationClass sınıfı da kullanılabilir.

private void Form1_Load(object sender, System.EventArgs e)
{
       outlookApp=new Outlook.Application();
       create_Mail();
}
Create_Mail metodu yeni bir mail oluşturur. Bu mail oluşturma kısmı ön izleme, kaydetme ve dosya ekleme metotlarında da gerektiği için bir metot olarak tanımlamakta yarar var.

private void create_Mail()
{
    outlookMail=(Outlook.MailItem) outlookApp.CreateItem(Outlook.OlItemType.olMailItem);
    lst_ATTACH.Items.Clear();
} private void get_Mail()
{
       outlookMail.To=txt_TO.Text;
       outlookMail.Subject =txt_SUBJECT.Text;
       if (get_Mail_Type()=="HTML" ) outlookMail.HTMLBody=txt_BODY.Text;
       else outlookMail.Body=txt_BODY.Text;


private string get_Mail_Type()
{
    returncmb_MAIL_TIPI.Text;
}

Dosya ekleme sırasında iPosition olarak tanımlanan tamsayı değer eklenen dosyanın yerini belirler. Burada pozisyon olarak mailin body uzunluğundan 1 fazlası olacak şekilde dosya pozisyonu belirlenmiştir. get_Mail_Body_Length() metodu ise mail tipine göre body uzunluğunu belirler.

private void openFileATTACHMENT_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
{
    foreach (string Dosya in openFileATTACHMENT.FileNames)
    {
       try
       {
               get_Mail();
               int iPosition = get_Mail_Body_Length()+1;
               object iAttachType = (Object)Outlook.OlAttachmentType.olByValue ;
               outlookMail.Attachments.Add(Dosya,iAttachType,iPosition,Dosya); 
               lst_ATTACH.Items.Add(Dosya);
       }
        catch(Exception exp)
       {
               MessageBox.Show(exp.Message);
       }
    }
} private int get_Mail_Body_Length()
{
    intlen=0;
    try
    {
        if (get_Mail_Type()=="HTML" )
            len=outlookMail.HTMLBody.Length;
        else
            len=outlookMail.Body.Length;
    }
    catch (Exception exp)
    {
        len=0;
    }
    return len;


private void btn_KAYDET_Click(object sender, System.EventArgs e)
{
    outlookMail.Save();


private void btn_SEND_Click(object sender, System.EventArgs e)
{
    get_Mail();
    outlookMail.Send();
    lblMsg.Text="Mail Gönderildi";
    create_Mail();
    // Bir gönderimden sonra yeni bir gönderim yapmak için yeni mail oluşturuluyor.


private void btn_PREVIEW_Click(object sender, System.EventArgs e)
{
       get_Mail();
       outlookMail.Display(this);
}

Örnek olarak sonuç ekranında hazırladığımız makaleye ait dokümanları cs@csharpnedir.com mail adresine gönderiyoruz.





Kaynak kodlar için lütfen tıklayınız.

Fatih Yüceyurt
fatihyuceyurt@gmail.com
Makale:
C# ile Outlook 2000 Üzerinden Mail Göndermek C#, Visual C# ve .NET Fatih Yüceyurt
  • Yazılan Yorumlar
  • Yorum Yaz
KAS
20
2007
Önsel Aydın a cevap. Uygulamayı Asp.Net ile gerçekleştirebilmek için javascript ile mail gönderme işlemini kullanabilirsiniz. Sayfanın çalıştığı browserda activex object i ile ilgili değiştirilmesi gereken bir güvenlik ayarı bulunmaktadır. Saygılarımla...
KAS
9
2007
Bu uygulamayı asp.net ile yapmayı denedim. Fakat client şifre istiyor server ın un ve pass girdiğimde mailini serverın outlookunu kullanarak gönderiyor. Clientin kendi office outlookuna bağlanabilmesi için ne yapılmalıdır acaba.
MAR
13
2005
Merhaba, Örnek Uygulamanız için Teşekkürler Fakat Sanırım Dosya Ekle Buttonunun Click Olayını Yazmayı Unutmuşsunuz private void btn_DosyaEkle_Click(object sender, System.EventArgs e) { openFileATTACHMENT.ShowDialog() } Saygılarımla...
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor