Makale Özeti

Başlıktan da anlaşılacağı gibi, ASP.NET ile en çok kullanılan özelliklerden birini anlatan bir yazı

Makale

ASP.NET ile E-Mail yollamak

ASP makaleleri yazarken belki de karşılaştığım en fazla taleb olan konu e-mail yollamaktı neredeyse. Çünkü ASP ile E-mail yollamak birçok uygulama için gerekliydi, ister ticari ister kişisel olsun. ışte bu makalede de bu sefer Asp.Net ile nasıl e-mail yollanacağını inceleyeceğiz.

Asp.Net ile mail yollamak için bu makalede SMTP servisini kullanacağız, yani ayrıca bir bileşene ihtiyaç duymuyoruz. Hemen test için bir örnek yapalım, çok basit olsun ki hemen test edip sorun olup olmadığını tespit edebilelim. Sorun ile karşılaşırsanız tabiki en makale sonunda bulunan Soru/Görüşler kısmını doldurmayı unutmayın. ışte ilk örnek kodumuz (ilk_mailyolla.aspx) :

<% @Page Language="C#" %>
<% @Import Namespace="System.Web.Mail" %>
<%
string strKime = "cankaya@aspnedir.com";
string strKimden = "gelistirici@aspnedir.com";
string strBaslik = "Asp.Net ile ilk e-Posta";

SmtpMail.Send(strKimden, strKime, strBaslik,
"Asp.Net ile gönderilen ilk e-Postanızı aldınız.");

Response.Write("e-Posta Gönderdi");
%>

Eğer sorunsuz çalıştıysa hemen işin detayalarına geçelim. Öncelikle Gelin mail formu olan bir sayfa yaratalım. Bu sayfa sadece html kodları içeren klasik bir form sayfası, amacımız kullanıcının bu formu kullanarak e-mail için veri girişi yapması (mailyolla.htm):

<html>
<head>
<title>yazgelistir.com</title>
</head>
<body>
<form method="post" name="form1" action="mailyolla.aspx">
ısminiz : <input type="text" name="isim" size="30" ><br>
Email Adresiniz : <input type="text" name="email_benim" size="30" ><br>
Gidecek Email Adresi : <input type="text" name="email_gidecek" size="30" ><br>
<br>
<input type="submit" value="Gönder" name="buton">
</form>
</body>
</html>

şimdi gelelim bu sayfanın mail yollayacak koduna, bu örneği C# ile yazdım, namespaceimiz de system.web.mail tabiki. şimdi koda biraz göz atalım(mailyolla.aspx) :

<% @Page Language="C#" %>
<% @Import Namespace="System.Web.Mail" %>
<%
MailMessage ePosta = new MailMessage();

ePosta.To = request.form("email_gidecek");
ePosta.From = request.form("email_benim");
ePosta.Subject = request.form("email_baslik");

ePosta.BodyFormat = MailFormat.Html;
string strBody = "<html><body><b>yazgelistir.com</b></body></html>";
ePosta.Body = strBody;

SmtpMail.Send(ePosta);

Response.Write("Email Gönderildi");
%>

Böylece bu örnekle HTML olarak da mail yollayabileceğimizi gördük. Son olarak nasıl attachment yollayacağımız da bakalım :

ePosta.Attachments.Add(new MailAttachment("c:\\yazgelistir\\makale.doc"));

veya;

MailAttachment ekliMail = new MailAttachment("c:\\yazgelistir\\makale.doc"));
IList mailEkleri = ePosta.Attachments;
mailEkleri.Add(ekliMail);

ışte Asp.Net ile e-mail yollamak bu kadar kolay. (cc), (bcc) vs. gibi birçok kolay diğer özelliği de bu kodların üzerinde değişiklikler yaparak kendiniz test edebilirsiniz.

Mehmet Nuri ÇANKAYA