ASP.NET Kullanarak Mail Göndermek
Eskiden ASP3.0 kullandığımız zamanlarda (gerçi hala kullanılıyor) e-mail göndermek için cdonts, persist gibi mail bileşenleri kullanırdık.Bunların hepsinin kendine göre kullanım biçimleri vardı.Ama artık asp.net te mail göndermek için bu bileşenleri kullanmanıza gerek kalmayacak, çünkü bunlar bize hazır olarak gelmekteler.
Asp.Net te e-mail class ı System.Web.Mail namespace i altında bulunur.Bu namesapce imizi inceleyelim.
System.Web.Mail --> Namespace
MailAttachment --> Class
MailMessage --> Class
SmtpMail --> Class
MailEncoding --> Enumered Values
MailFormat --> Enumered Values
MailPriority --> Enumered Values
Şimdi class larımızı birlikte inceleyelim ve sonra ufak bir örnekle makalemizi bitirelim.
MailAttachment : Göndermek isteğimiz mail e dosya eklemek istiyorsak, bu class dan faydalanmamız gerekmektedir.Kullanımı ise şöyledir.
Dim sMail As New MailMessage
Dim EklenecekDosya As New MailAttachment("C:\abc.txt")
sMail.Attachments.Add(EklenecekDosya)
Yukarıdaki yaptığımız işin özeti ise şudur; Bir tane mail göndermek için sMail diye bir obje yarattık.Daha sonra MailAttachment class ından yararlanarak, göndermek istediğiiz dosyayı belirttik ve daha sonra mail objemizin Attachment Add metodu ile ekledik.
MailMessage : Mail göndermek için esas işler burada yapılıyor.Şimdi birlikte bu class ımızı inceleyelim.
Mail göndermek istiyorsak, bu class dan fayadalanmamız gerekmektedir.
Attachments : Göndermek istediğimiz e-mail e dosya ekleyebiliriz.Ekleme işlemini yukarıdaki gibi yapıyoruz.
Bcc : E-mail imizin bir kopyasını belirttiğimiz kişinin adresine gönderiyoruz.
Body : E-Mail imizin mesajını buraya yazıyoruz.
BodyEncoding : Mesajımızın kodlama tipini burada belirtiyoruz.
BodyFormat : Mailimizin Html mi yoksa düz metinmi olacağını burada belirtiyoruz.
CC : E-mail imizin bir kopyasını belirttiğimiz kişinin adresine gönderiyoruz.
From : Mailin kimden geldiğini karşı tarafa buraya yazdığımız adres ile belirtiyoruz.
Priority : E-Mailimizin öncelik sırasını burada belirtiyoruz.
Subject : E-Mail imizin başlığını buraya yazıyoruz.
To : E-Mail imizin kime gideceğini buray yazacağımız adres ile belirtiyoruz.
Burası ile ilgili örneğimizi en altta yapacağız...
SmtpMail : EMail imizi göndermek için mail server ın adresini burada belirtmeliyiz.;
SmtpMail.SmtpServer = "mail.server.com"
Böylece e-mail imiz bu adresten karşı tarafa ulaşacaktır.Biraz smtp nedemek onu açıklayalım;;
Smtp (Simple Mail Transfer Protocol) mail göndermek için kullanılan bir protokoldür.Amacı bilgi transfer etmektir.Bu protokol sayesinde işletim sistemleri farketmeksizin e-mail gönderilip alınabilir.İnternette e-mailler bu protokol kullanılarak gönderilip alınır.Şimdi biz kaldığımız yerden devam edelim.
Şimdi class larımızıda açıkladıktan sonra bir örnek yapalım;
Imports System.Web.Mail, System.IO
Public Class WebForm1
Inherits System.Web.UI.Page
#Region " Web Form Designer Generated Code "
"This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
Protected WithEvents Label3 As System.Web.UI.WebControls.Label
Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox
Protected WithEvents TextBox3 As System.Web.UI.WebControls.TextBox
Protected WithEvents Label4 As System.Web.UI.WebControls.Label
Protected WithEvents DropDownList1 As System.Web.UI.WebControls.DropDownList
Protected WithEvents Label5 As System.Web.UI.WebControls.Label
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents File1 As System.Web.UI.HtmlControls.HtmlInputFile
Protected WithEvents Label6 As System.Web.UI.WebControls.Label
Protected WithEvents TextBox4 As System.Web.UI.WebControls.TextBox
"NOTE: The following placeholder declaration is required by the Web Form Designer.
"Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
"CODEGEN: This method call is required by the Web Form Designer
"Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
"Put user code to initialize the page here
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sMail As MailMessage = New MailMessage
Dim sFolder As String = Server.MapPath("Files/")
Dim sFile As String = Path.GetFileName(File1.PostedFile.FileName)
File1.PostedFile.SaveAs(sFolder & sFile)
Dim sAttachment As MailAttachment = New MailAttachment(sFolder & sFile)
With sMail
.To = TextBox1.Text
.From = TextBox2.Text
.Subject = TextBox3.Text
.Attachments.Add(sAttachment)
Select Case DropDownList1.SelectedIndex
Case 0
.BodyFormat = MailFormat.Html
Case 1
.BodyFormat = MailFormat.Text
End Select
.Body = TextBox4.Text
End With
SmtpMail.SmtpServer = "mail.linkmedya.com"
SmtpMail.Send(sMail)
File.Delete(sFolder & sFile)
End Sub
End Class
alıntıdır
Eskiden ASP3.0 kullandığımız zamanlarda (gerçi hala kullanılıyor) e-mail göndermek için cdonts, persist gibi mail bileşenleri kullanırdık.Bunların hepsinin kendine göre kullanım biçimleri vardı.Ama artık asp.net te mail göndermek için bu bileşenleri kullanmanıza gerek kalmayacak, çünkü bunlar bize hazır olarak gelmekteler.
Asp.Net te e-mail class ı System.Web.Mail namespace i altında bulunur.Bu namesapce imizi inceleyelim.
System.Web.Mail --> Namespace
MailAttachment --> Class
MailMessage --> Class
SmtpMail --> Class
MailEncoding --> Enumered Values
MailFormat --> Enumered Values
MailPriority --> Enumered Values
Şimdi class larımızı birlikte inceleyelim ve sonra ufak bir örnekle makalemizi bitirelim.
MailAttachment : Göndermek isteğimiz mail e dosya eklemek istiyorsak, bu class dan faydalanmamız gerekmektedir.Kullanımı ise şöyledir.
Dim sMail As New MailMessage
Dim EklenecekDosya As New MailAttachment("C:\abc.txt")
sMail.Attachments.Add(EklenecekDosya)
Yukarıdaki yaptığımız işin özeti ise şudur; Bir tane mail göndermek için sMail diye bir obje yarattık.Daha sonra MailAttachment class ından yararlanarak, göndermek istediğiiz dosyayı belirttik ve daha sonra mail objemizin Attachment Add metodu ile ekledik.
MailMessage : Mail göndermek için esas işler burada yapılıyor.Şimdi birlikte bu class ımızı inceleyelim.
Mail göndermek istiyorsak, bu class dan fayadalanmamız gerekmektedir.
Attachments : Göndermek istediğimiz e-mail e dosya ekleyebiliriz.Ekleme işlemini yukarıdaki gibi yapıyoruz.
Bcc : E-mail imizin bir kopyasını belirttiğimiz kişinin adresine gönderiyoruz.
Body : E-Mail imizin mesajını buraya yazıyoruz.
BodyEncoding : Mesajımızın kodlama tipini burada belirtiyoruz.
BodyFormat : Mailimizin Html mi yoksa düz metinmi olacağını burada belirtiyoruz.
CC : E-mail imizin bir kopyasını belirttiğimiz kişinin adresine gönderiyoruz.
From : Mailin kimden geldiğini karşı tarafa buraya yazdığımız adres ile belirtiyoruz.
Priority : E-Mailimizin öncelik sırasını burada belirtiyoruz.
Subject : E-Mail imizin başlığını buraya yazıyoruz.
To : E-Mail imizin kime gideceğini buray yazacağımız adres ile belirtiyoruz.
Burası ile ilgili örneğimizi en altta yapacağız...
SmtpMail : EMail imizi göndermek için mail server ın adresini burada belirtmeliyiz.;
SmtpMail.SmtpServer = "mail.server.com"
Böylece e-mail imiz bu adresten karşı tarafa ulaşacaktır.Biraz smtp nedemek onu açıklayalım;;
Smtp (Simple Mail Transfer Protocol) mail göndermek için kullanılan bir protokoldür.Amacı bilgi transfer etmektir.Bu protokol sayesinde işletim sistemleri farketmeksizin e-mail gönderilip alınabilir.İnternette e-mailler bu protokol kullanılarak gönderilip alınır.Şimdi biz kaldığımız yerden devam edelim.
Şimdi class larımızıda açıkladıktan sonra bir örnek yapalım;
Imports System.Web.Mail, System.IO
Public Class WebForm1
Inherits System.Web.UI.Page
#Region " Web Form Designer Generated Code "
"This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
Protected WithEvents Label3 As System.Web.UI.WebControls.Label
Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox
Protected WithEvents TextBox3 As System.Web.UI.WebControls.TextBox
Protected WithEvents Label4 As System.Web.UI.WebControls.Label
Protected WithEvents DropDownList1 As System.Web.UI.WebControls.DropDownList
Protected WithEvents Label5 As System.Web.UI.WebControls.Label
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents File1 As System.Web.UI.HtmlControls.HtmlInputFile
Protected WithEvents Label6 As System.Web.UI.WebControls.Label
Protected WithEvents TextBox4 As System.Web.UI.WebControls.TextBox
"NOTE: The following placeholder declaration is required by the Web Form Designer.
"Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
"CODEGEN: This method call is required by the Web Form Designer
"Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
"Put user code to initialize the page here
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sMail As MailMessage = New MailMessage
Dim sFolder As String = Server.MapPath("Files/")
Dim sFile As String = Path.GetFileName(File1.PostedFile.FileName)
File1.PostedFile.SaveAs(sFolder & sFile)
Dim sAttachment As MailAttachment = New MailAttachment(sFolder & sFile)
With sMail
.To = TextBox1.Text
.From = TextBox2.Text
.Subject = TextBox3.Text
.Attachments.Add(sAttachment)
Select Case DropDownList1.SelectedIndex
Case 0
.BodyFormat = MailFormat.Html
Case 1
.BodyFormat = MailFormat.Text
End Select
.Body = TextBox4.Text
End With
SmtpMail.SmtpServer = "mail.linkmedya.com"
SmtpMail.Send(sMail)
File.Delete(sFolder & sFile)
End Sub
End Class
alıntıdır