C# ile e-posta Göndermek



Benzer belgeler
Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Toplu İleti Gönderimi

Programlama Yazılımı ile Web Sitesi Oluşturma

iphone ios Mail Kurulumu

İnternet Programcılığı

PAKET TRANSFER SİSTEMİ

EpostaGonder V1.4 KULLANIM KLAVUZU

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Bilgisayar Ağları. Ağı oluşturan cihazlar. Coğrafi koşullara göre ağın sınıflandırılması (LAN, MAN, WAN)

E - YENİLİKLER BÜLTENİ

Bulut Ayarları (Dropbox)

Samsun Çocuk Hizmetleri İ l Koordinasyon Sekretarya Birimi

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Bilin tarafından verilen Kullanıcı Adı ve Şifresini bu alanlara giriniz. Bilin Yazılım ve Bilişim Danışmanlığı Ltd. Şti.

Raptadmin 1.x.x Sürümleri için Kullanım Klavuzu

LOGO için Online Mutabakat Kullanım Kılavuzu

API geliştiricileri. Web server ile yapılan entegrasyonun neticeleri. API Dokumantasyonu

Windows Live ID ve parolanızı giriniz.

Wolvox Kapı Ekranı. AKINSOFT Wolvox Kapı Ekranı Yardım Dosyası. Doküman Versiyon :

IEEE TÜRKİYE ÖĞRENCİ KOLLARI MAİL GRUBU KULLANIM REHBERİ

VIDEOCELL API. Versiyon 1.0.0

PAKET TRANSFER SİSTEMİ

OKUL HABER EKLEME MODÜLÜ TANITIM DOSYASI. Okul haberlerinizi ilçemiz web sitesinde yayınlayabilmek için aşağıdaki adımları uygulamanız gerekmektedir.

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

1.Mailbox Server Role:

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

1.PROGRAMLAMAYA GİRİŞ


21 23 ŞUBAT 2018 İSTANBUL KONGRE MERKEZİ - ICC B2B ONLINE RANDEVU SİSTEMİ

MEBWEB OKUL/KURUM WEB SİTELERİ KULLANIM KLAVUZU TEMEL İŞLEMLER

Kurumsal Grup E-Posta Eğitim Dokümanı

Geliştirme Klavuzu İlk Uygulama Hello World

ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU

Microsoft Outlook 2007

BLGM 354 DENEY 1 * GİRİŞ

LOGO TURKCELL AKILLI FAKS ENTEGRASYONU BİLGİ DOKÜMANI

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

Özel Uyarılar. Resim 97. United Security. Olay Tipi Etkin Mesaj Göster Gönder Alarm Cikisi Role Suresi Sesli Uyari

Wireshark Lab.: DNS. 1. nslookup

E - YENİLİKLER BÜLTENİ

iphone & ipad için e-posta hesabı kurulumu

Google Search API ile ajax arama

Değerli Datasoft Kullanıcısı;

NovaFortis Yazılım Danışmanlık. E-fatura adaptörü

TC KİMLİK NO SMS GÖNDERİM XML API

U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları. IPera İletişim Teknolojileri

2. Use Dns lookup, Use relay server aralarında seçim yapınız. Biz Dns lookup ile SMTP-mizi çalıştırdık. DNS lookup kısmında domain adınızı yazınız.

ANDROID İŞLETİM SİSTEMİ YÜKLÜ OLAN TELEFON VEYA TABLETLERE ÖĞRENCİ WEBMAIL TANIMLAMA

SMS Gönderim Đyileştirmeleri

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

2) Hesabınıza Giriş yaptıktan sonra aşağıdaki ekran karşınıza gelir.

Google Scripts. Neticaret Sistemine Google Analytics ve AdWords sistemleriyle ilgili 3 yeni parametre eklenmiştir.

21.YY Üniversitelerinde Ders Yönetim Sistemleri ve. Üniversitemizdeki Uygulamaları: ESOGÜ Enformatik Ders Yönetim Sistemi Kullanımı

16 18 MART 2016 İSTANBUL KONGRE MERKEZİ - ICC İSTANBUL LÜTFİ KIRDAR - ICEC B2B ONLINE RANDEVU SİSTEMİ

1) İlk olarak oluşturduğumuz filtre adı yazılır. (örneğin tatil mesajı, taşı vb gibi.) 2) Sonra filtre için kural belirlenir.

INTERNET VE INTERNET TARAYICISI

SMSOKUL KULLANIM KILAVUZU V. 1.0

VİDEO SUNUM KAYDETME(CAM STUDIO RECORDER)

BitTorrent İstemci Kullanımı

TC KİMLİK NO SMS GÖNDERİM SOAP API

T.C. MİLLİ EĞİTİM BAKANLIĞI BALIKESİR / BANDIRMA İLÇE MİLLİ EĞİTİM MÜDÜRLÜĞÜ. Büro Yönetimi ve Resmi Yazışma Kuralları Kursu

Moodle, herkes tarafından (öğretmen, öğrenci) kolay şekilde kullanılabilmektedir.

İÇERİK YÖNETİM SİSTEMİ (CMS) Bir web sitesi yayınlamak için yapılması gerekenler:

SOAP API. Mobildev Toplu Mesajlaşma API

E-P0STA ADRESLERİNİ REHBERE KAYDETME VE GRUPLAMA

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

K12 Uzantılı E Posta Kullanım Ve Kurulum Klavuzu

KANTAR UYGULAMASI Kurulum Kılavuzu

e-mutabakat Ekstre Gönderimi

KENDİ ÇİZİM PROGRAMIMIZI OLUŞTURALIM

Adslock.com İçerik Kilitleme. Nasıl Kullanılır? Nasıl Kazanılır?

LOGO için Online Mutabakat Kullanım Kılavuzu

MEB E-Posta Hizmetleri ve Outlook Programı

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

XMail. Kurulum ve Senkronizasyon Ayarları Rehberi

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

5S7 OYUN YAZIYORUM GENEL BAKIŞ A. PROJE - YILDIZ TOPLAYAN ÇOCUK

Blogcu Kullanma Kılavuzu

İNTERNET VE BİLGİ AĞLARININ KULLANIMI

Hareket Algılama. Sesli uyarı Mesaj gösterme Tam ekran yapma Alarm Çıkışı gönderme Kayıt başlatma

WEB E-POSTA AYARLARI. Outlook 2003 Ayarı ( Resimli Anlatım )

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

UZAKTAN EĞİTİM YÖNETİM SİSTEMİ (MMYO)EĞİTMEN YARDIM KILAVUZU

MERHABA ARKADAŞLAR.

PHP ile İnternet Programlama

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Proticaret Exclusive v3.2.0 E-Ticaret Yazılımı Kurulum Dokümanı

Üst Düzey Programlama

1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

XML API v2.0 Belge sürümü : 2.0.2

MEBİS Kullanım Kılavuzu. Öğretim Elemanı Yeni İstanbul Medipol Üniversitesi


Zirve E-Fatura Entegratör Paketi Kullanım Kılavuzu

TecCom TecLocal Programı Kurulum ve Yapılandırma Rehberi

Kullanım Kılavuzu

United Security. Alarm Tetikleme

1. Admin kullanıcı ile sisteme giriş yapınız. Ekranın sağ üstünde yer alan defter yaprakları ikonuna tıklayınız.

Transkript:

Kemal Demir http://kemal.csharpturk.net kemal@csharpturk.net C# ile e-posta Göndermek 25.12.2006 Web sitemizin üyelerine ya da adreslerini bir yerde biriktirdiğimiz arkadaşlarımıza toplu olarak eposta atmak istediğimiz zamanlar olur. Ya da bazen web sitenizde bir etkileşim olduğunda, bu durumu sitenizin size eposta ile haber vermesini istersiniz. Bunlar neler olabilir derseniz, web sitenizdeki bir yazıya yorum yazılması, bir programın site üzerinden indirilmesi, bir reklâmın görüntülenmesi vb. olabilir. Tabiî ki, bu biraz da sizin hayal gücünüze ve kullanacağınız yere kalmış..net 1.0 ve 1.1 sürümlerinde System.web.mail adlı isim uzayı içerisindeki sınıflarla bu tür bir uygulama geliştirebiliyordunuz. Şimdi bunu.net 2.0 ile nasıl yapabileceğimize bir göz atalım. System.Net.Mail isim uzayı ile.net 2.0 içerisine çok kullanışlı bir eposta API'si yerleştirilmiş. Eposta gönderme işlerinize büyük oranda çözüm sunacak bir API. Bir kaç temel örnek üzerinden bu API'yi inceleyelim. Deneyimli okuyucularımız bilirler,.net 1.0 ve 1.1 zamanında da bir mail API'sı vardı aslında. System.Web.Mail. Fakat hem sadece web için oluşturulmuş hem de asp ile sunucu taraflı kod yazanların sık kullandıkları CDONTS sisteminin.net içerisine dahil edilmiş şeklinden ibaretti. Hem bir.net bileşeninde olması gereken işlevselliği sağlamıyordu, hem de kullanımı çok zahmetli idi. System.Net.Mail ise çok işlevsel ve sağlam duruyor. Ayrıca masaüstü uygulamalarda ve mobil uygulamalarda kullanımı da mümkün hale geldi..net programcıları ayrıca bu API ile birlikte SMTP işlevselliğini de yeniden tasarladılar. Daha yeni özellikler ve yöntemlerle mail gönderme işlemini daha kolay ve işlevsel hale getirdiler. Asenkron gönderim seçeneği de bunlardan bir tanesidir. İlk olarak System.Net.Mail içerisindeki önemli bir kaç sınıfın ne olduğunu açıklayalım. Attachment Sınıfı: Adından da anlaşılacağı gibi maillerimizle birlikte ek dosya göndermek için tasarlanmıştır. MailAdress Sınıfı: TO, CC, BCC ya da alıcı adresler için mail adresi tanımlamaya yarar. MailMessage: SmtpClient sınıfı ile gönderilecek olan mail mesajını tutar. TO, CC, BCC, Attacment gibi özellikleri vardır. Mesajın gövdesini ise Subject ve Body özellikleri oluşturur. SmtpClient: SMTP protokolü ile mail göndermeyi olanaklı kılan sınıf. SmtpException: SmtpClient sınıfı mesajı gönderemediği durumda istisnaları ortaya çıkaran sınıf. System.Net.Mail ile daha modern bir bileşen kullanarak mail göndermenin rahatlığını hissedeceksiniz. NOT:Aşağıdaki örnek programların çalışabilmesi için aşağıdaki kodu using bloğuna eklememiz gerekiyor. using System.Net.Mail; Sadece İki Satır Kod Yazarak Mail Gönderebilirsiniz. SmtpClient istemci = new SmtpClient("mail.csharpturk.net"); istemci.send("yunus@csharpturk.net", "kemal@csharpturk.net", "Mail Mesajı", "Deneme mesajı gönderiyorum"); 1/5

Bir SmtpClient örneği oluşturuyoruz ve Send yöntemine gerekli parametreleri geçerek gönderme işlemini yapıyoruz. SMTP protokolü ile mesajı gönderen aslında sadece bu iki satır koddur. Şimdi biraz daha detaylı temel bir uygulama yapalım. try MailMessage mesaj = new MailMessage(); mesaj.from = new MailAddress("yunus@csharpturk.net"); mesaj.to.add(new MailAddress("kemal@csharpturk.net")); mesaj.to.add(new MailAddress("goksu@csharpturk.net")); mesaj.to.add(new MailAddress("yasin@csharpturk.net")); mesaj.cc.add(new MailAddress("montoya@csharpturk.net")); mesaj.subject = "C#Türk.net"; mesaj.body = ".net ile eposta göndermek adlı makale yayında."; SmtpClient istemci = new SmtpClient("mail.csharpturk.net"); istemci.send(mesaj); Response.Write("Mesaj gönderildi."); catch (SmtpException ex) catch (Exception ex) Yukarıdaki programda önce mesaj nesnesini oluşturuyoruz. Daha sonra gönderen adres için From özelliğini ayarlıyoruz. To, Cc ve Bcc özellikleri birer koleksiyon olduğundan Add yöntemi ile istediğimiz kadar adresi ekleyebiliriz. Body ve Subject özelliklerini de ayarladıktan sonra sıra geldi göndermeye. SmtpClient istemcimizi oluşturuyoruz ve Send yöntemi ile hazırladığımız mesajı gönderiyoruz. İstisnaları yakalarken dikkat ederseniz iki tane istisna bloğu yazdık. 2/5

SmtpException olarak oluşan istisnaları ayrı bir blokta, oluşacak diğer istisnaları da ayrı bir blokta yakalayıp diğerlerinden ayırt edebiliyoruz. system.net.mail API'sinin diğer bir özelliği ise SMTP ayarlarının web.config dosyasında tutulabilmesidir. Aşağıdaki kodu web.config içerisine ekledikten sonra yukarıda yazdığımız programı tekrar yazıp web.config dosyasındaki ayarları kullanmasını sağlayalım. <system.net> <mailsettings> <smtp from="yunus@csharpturk.net"> <network host="mail.csharpturk.net" port="25" username="kullanıcı" password="şifre" defaultcredentials="true" /> </smtp> </mailsettings> </system.net> Şimdi yukarıdaki programı yeniden yazalım. try MailMessage mesaj = new MailMessage(); mesaj.to.add(new MailAddress("kemal@csharpturk.net")); mesaj.to.add(new MailAddress("goksu@csharpturk.net")); mesaj.to.add(new MailAddress("yasin@csharpturk.net")); mesaj.cc.add(new MailAddress("montoya@csharpturk.net")); mesaj.subject = "C#Türk.net"; mesaj.body = ".net ile eposta göndermek adlı makale yayında."; SmtpClient istemci = new SmtpClient(); istemci.send(mesaj); Response.Write("Mesaj gönderildi."); catch (SmtpException ex) catch (Exception ex) 3/5

Web.Config dosyasında tutulan SMTP sunucu bilgisi ve diğer bilgilerin bir yerden kontrol edilebilmesi ile merkezi bir denetim imkânı da sağlanmış oldu. Web sitemizin Download bölümüne hem Windows Programı hem de Web Programı olarak örnek uygulamalar eklendi. Ekran görüntüleri aşağıdaki gibidir. Şekil 1 : Windows Programı Ekran Görüntüsü. Text veya HTML olarak mail gönderebilirsiniz. 4/5

Şekil 2 : E-posta gönderildikten sonraki ekran görüntüsü. Şekil 3 : Web Programı Arayüzü. 5/5