Bilginler Forum
Delphi 2006 ile ASP.NET Sayfasından E-Posta Göndermek Uye_ol
| Bilginler Forum | En Bilgili Forum Sitesi |
Bilginler Forum
Delphi 2006 ile ASP.NET Sayfasından E-Posta Göndermek Uye_ol
| Bilginler Forum | En Bilgili Forum Sitesi |
Bilginler Forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Bilginler Forum

Bilginler Forum | Yetkin Forum Güvencesiyle Sizlerle
 
AnasayfaAnasayfa  Latest imagesLatest images  Kayıt OlKayıt Ol  Giriş yap  

 

 Delphi 2006 ile ASP.NET Sayfasından E-Posta Göndermek

Aşağa gitmek 
YazarMesaj
Admin
Bilginler Forum'un Yeni Admini BéRK
Bilginler Forum'un Yeni Admini BéRK
Admin


Mesaj Sayısı : 215
Kayıt tarihi : 10/04/10
Yaş : 33
Nerden : Bilginler Forum'dan

Delphi 2006 ile ASP.NET Sayfasından E-Posta Göndermek Empty
MesajKonu: Delphi 2006 ile ASP.NET Sayfasından E-Posta Göndermek   Delphi 2006 ile ASP.NET Sayfasından E-Posta Göndermek EmptyPerş. Nis. 29, 2010 8:11 am

Bugün tüm internet kullanıcılarının World Wide Web çapında diğer internet kullanıcılarıyla iletişim kurmak için elektronik posta adreslerine sahip olması, gelişimini tüm hızıyla sürdüren teknolojinin en büyük nimetlerindendir. Öyleki özellikle reklamcılık sektörü başta olmak üzere bugün bir sitesi olan , her kişi, kurum ve kuruluş, gerek kendi çalışanlarına, üyelerine , gerekse diğer kullanıcılara ücret tarifeleri, sattıkları ürünlerin teknik özellikleri, sundukları hizmetin çeşitliliği gibi tüm bilgilendirmeleri e-posta kanalıyla yapmaktadır.

Devlet kurumlarında çalışan arkadaşlarımızda e-posta sisteminin kurumlar arasındaki bilgi akışı üzerinde sağladığı kolaylıklardan istifade etmekteler artık. Bu kadar laf salatasını elbette e-posta sisteminin önemini belirginleştirmek için yaptım. Ama eminim zaten hepiniz bunun farkındasınızdır.

Forumda bir çok dilin bir şekilde e-posta gönderimiyle ilgili konuları işlediği aşikar. Bizde en iyi bildiğimiz dil olan delphice ama ASP.NET ile bir e-posta modülünün çalışma mantığından bahsedeceğiz. Yazacağımız e-posta gönderme modülü için yerel makinada smtp, pop3, imap gibi protokol servislerinden yararlanacağız. Bu yazıda smtp prokolünü kullanarak nasıl e-posta gönderebileceğimizi öğrenmiş olacağız.

Bir E-Posta Sunucusunun Kurulması

Piyasadan ücretsiz temin edebileceğiniz smtp protokol destekli bir e-posta sunucusuna ihtiyacımız olacak. Bu tür sunucu yazılımları hosting hizmeti veren firmalarca sağlanmaktadır. Aradığınızda o kadar çok sunucu yazılımıyla karşılaşıyorsunuz ki, en doğru seçimin hangisi olduğuna karar vermekte zorlanabiliyorsunuz. Ben kısa bir araştırmadan ve sponsorlarımın işaretleri doğrultusunda merakmail server e-posta sunucusunu yerel makinama kurmaya karar verdim. Kurulum ve ayar işi oldukça kolay. Bahse konu sunucunun deneme sürümünü[Linkleri görebilmek için üye olun veya giriş yapın.] indirebilirsiniz...

Sunucunun kurulumu tamamlandığında size ne yapmanız gerektiğini anlatan bir sihirbazla temel yapılandırma ayarlarını kolayca yapabiliyorsunuz...

Bir E-Posta suncusu üzerinde birden fazla etki alanı (DOMAIN) tanımlayabilir, bu etki alanlarına e-posta servisinden yararlanacak üyeleri ekleyip çıkarabilir, yada sunduğunuz hizmetin sınırlarını ayarlayabilirsiniz.

E-Posta Sunucusu Yönetim konsolu[Resimleri görebilmek için üye olun veya giriş yapın.]

Sunucunun sadece yerel hesaplar arası değilde www üzerinde e-posta göndermesini istiyorsanız aşağıdaki ayarlarıda yapmalısınız....

[Resimleri görebilmek için üye olun veya giriş yapın.]
Bu ayarlardan sonra e-posta sunucumuz hem içeriye hem dışarıya e-posta gönderebilmektedir. Konumuz e-posta sunucusunun yapılandırılması olmadığından atladığımız ayrıntıları arkadaşlarımızın yorumlarıyla öğrenebiliriz.

E-Posta Gönderme Yöntemi

Gönderme işlemiyle ilgili ihtiyaç duyduğumuz tüm yöntem ve özelliker .NET Frame içinde System.Web.Mail uzay adında tanımlandığından bu uzay adını unit başına uses bildirimiyle ekleyerek işe başlıyoruz.

interface
uses System.Web.Mail;


Bir çok asp.net sayfasından yada ileride veri tabanı üzerinden sırayla ilgili üyelere e-posta gönderimi yapabilmek için e-posta gönderim yöntemini ayrı bir unitte tasarlamakta fayda var.

Function EPostaGonder(Kimden,Kime,_SmtpHost,Konu,Mesaj : String;Format : MailFormat ;DosyaListesi tring='')mallInt;
Var
GonderimSonucu : SmallInt;
Mail : MailMessage;
Attach : MailAttachment;
Smtp : SmtpMail;
begin
try
GonderimSonucu := 1; // Gönderildi
Mail := MailMessage.Create;
try
Smtp.SmtpServer := _SmtpHost;
With Mail do
begin
From := Kimden;
&To := Kime;
Subject := Konu;
BodyEncoding.UTF8;
Body := Mesaj;
BodyFormat := Format;
if DosyaListesi <> '' then
begin
Attach := MailAttachment.Create(DosyaListesi);
Mail.Attachments.Add(Attach);
end;
end;
Smtp.Send(Mail);
Except on E:Exception do GonderimSonucu := 0;
end;
finally
Mail.Free;
Mail := Nil;
Result := GonderimSonucu;
end;
end;

GonderimSonucu : SmallInt; // Gönderimin başarılı olup olmadığını dönderecek değişken

Mail : MailMessage; [Linkleri görebilmek için üye olun veya giriş yapın.] sınıfında türeyen ve göndereceğimiz e-posta ile ilgili tüm
teferruatı tutan nesnemiz

Attach : MailAttachment; // Gönderime eklenecek dosyalar için nesnemiz

Smtp : SmtpMail; // Gönderim işini yapacak protokol sınıfından nesnesimiz.

BodyFormat : Gönderinin HTML mi yoksa Text dosyası biçimindemi gönderileceği

Smtp.SmtpServer := _SmtpHost; satırıyla bu maili gönderecek sunucu adresini belirtiyoruz. Sunucumuz local olduğundan fonksiyona geçilen bu parametrenin değeride localhost olacaktır.

From : gönderme işlemini yapan yerel hesaplardan biri.
&To : e-postanın gideceği adres.
Subject : Gönderinin başlığı/konusu
BodyEncoding : Gönderinin dili
Body : Gönderilecek mesaj
Attach : Gönderime Eklenecek dosya listesi

için kullanılmaktadır. E-Postanın alıcıya teslimi (Gönderilmesi) işlemini ise Smtp nesnesinin gönderilecek mail nesnesini parametre olarak alan Send yöntemi gerçekleştirmektedir. Gönderim esnasında oluşabilecek istisnai durumlarda gönderimin başarısız olduğunu Gonderimsonucu değişkeninin değerini ayarlayarak çözüyoruz.

Smtp nesnesine MailMessage sınıfından türeyen bir nesneyi parametre olarak vermek yerine tüm gönderimi
Smtp'nin ikinci tip send yöntemiylede (overload) tek seferde halledebiliriz. Ama ayrıntıya girmek, kodun okunurluğunu artırmak için ilk yöntemi tavsiye ederim.

[Resimleri görebilmek için üye olun veya giriş yapın.]

Örnek Bir E-Posta Gönderelim.

Procedure TWebForm_Uyelik_Basvuru.AktivasyonmesajiGonder(Con st id,Ip,Buguntring);
Var
HtmlMsg : String;
Begin
try
HtmlMsg := 'Sayın <b>'+TextBox_GercekAd.Text+' '+TextBox_GercekSoyad.Text+
' :</b><br><p><a href="http://'+Ayarlar.SiteAdresi+'" _fcksavedurl=""http://'+Ayarlar.SiteAdresi+'"" _fcksavedurl=""http://'+Ayarlar.SiteAdresi+'"" _fcksavedurl=""http://'+Ayarlar.SiteAdresi+'"" target=_blank">Sittemiz</a> sitesine yaptığınız üyelik başvurunuzun aktifleştirilmesi için lütfen '+
' <a href="http://'+Ayarlar.SiteAdresi+'uyeaktivasyon.aspx?u='+TextB ox_KullaniciAdi.Text+'&a='+id+'"><b>Burayı tıklayın</b></a><br>'+
' veya aşağıdaki adresi kopyalayıp web tarayıcınızın adres kısmına yapıştırın...<br></p><p>'+
'Kullanıcı Adınız :<b>'+TextBox_KullaniciAdi.Text+'</b><br>'+
'Parolanız :<b>'+TextBox_Sifre.Text+'</b><br>'+
'Aktivasyon Linki :<b><a href="http://'+Ayarlar.SiteAdresi+'uyeaktivasyon.aspx?u='+TextB ox_KullaniciAdi.Text+'&a='+id+'">'+
'http://'+Ayarlar.SiteAdresi+'uyeaktivasyon.aspx?u='+TextB ox_KullaniciAdi.Text+'&a='+id+'</a></b><br></p><br>';

Ayarlar.EPostaGonder(Ayarlar.SiteMailAdresi,TextBo x_EPosta.Text,'localhost','Uyelik Aktivasyonu',(HtmlMsg),MailFormat.Html);
finally
// mesaj logu tutulacak
end;
End;


*** ALINTIDIR***
Sayfa başına dön Aşağa gitmek
http://bilginler.hareketforum.com
 
Delphi 2006 ile ASP.NET Sayfasından E-Posta Göndermek
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Delphi 7 Türkçe Dev Kaynak
» Delphi, MySQL ve Zeos Bileşenleri
» Delphi Menüleri
» DelphI GIrIS
» Delphi Veritabanına Giriş

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Bilginler Forum :: Web Master Programlama ve Tasarım :: Programlama :: Delphi-
Buraya geçin: