Visual Basic eMail Gönderme(detaylı anlatım!!) [yusuferden](farkıyla)

yusuferden

Üye
9 Eki 2009
236
0
GaziAntep
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
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.