by Hakan
11. Nisan 2010 14:12
Merhaba Arkadaşlar ;
Projelerimizi yaparkan yada varolan projeler üzerinde giderken mutlaka ufak tefek kod blokları gerekiyor.
Bunlardan bir taneside Email atma işlemlerinde sabit olarak bir html'in tutulması.
Örnek olarak verilecek olursa ; Şifremi Unuttum , Yeni üyelik email onay mesajı gibi.
Bunlar nedir diyecekseniz?
X bir sayfada Şifremi unuttum 'u tıklayınca size otomatik bir mail gelecektir. Bu mail bir html düzen içerisinde derli topludur.
yada X bir sayfasına üye olduğunuzda(kayıt) burada eğer email onayı istiyorsa yine size otomatik bir mail gelecektir. Bu mailde yine size bir link varsa üye olduğunuz yerin açıklamaları üyeliğinize ait bilgilerde mevcuttur.
Bu ve bunun gibi durumlarda bazı hazır dosyalar oluşturulur. Bunun bir klasor içerisinde metin dosyalarına kayıt edildiğinizde düşünürseniz projenizde mükemmel bir düzel olacaktır.
Şimdi gelelim Metin okuma işlemine ;
Projemde Mesajlar adı altında bir klasorum var. Klasorumun içeriğinde
-Mail Onayi
-Sifremi Unuttum adı altında 2 tane metin dosyam var.
İçerikleri ise Örnek :
Şifremi Unuttum ;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>
<body>
Merhaba {0}
<br/>
Şifreniz : {1}
<br/>
Hoşçakalın
</body>
</html>
Olduğunu varsayalım.
Proje sayfamızda ise ;
Çok basit bir kod bloğu ile işlemimizi gerçekleştireceğiz. Yanlız belirtmek isterim ki html'in içeriğinde {0} ve {1} görüyoruz. Bizim string.Format sınıfından yararlanacağımız anlamına gelmektedir.
Bir diğer yol da tahmin edebileceğiniz gibi Replace işlemide olabilir. Bu örnekler tabi kullanıma ve ihtiyaca göre değişebilir.
Replace işleminde ise ;
Merhaba #AdiSoyadi#
Şifreniz #Sifre#
olduğunu düşündüğümüzde @@AdiSoyadi ve @@Sifre yi replace ederek arka tarafda istediğimiz bilgileri oraya yazdırabilirdik.
Metin Dosyasını okuma metodumuz ;
public string MetinOku(string filePath)
{
StreamReader Sr = new StreamReader(Server.MapPath(filePath), System.Text.Encoding.Default);
filePath = Sr.ReadToEnd();
Sr.Close();
return filePath;
}
Daha Sonrada Örneğin ben PageLoad da yaptım ;
protected void Page_Load(object sender, EventArgs e)
{
string SifremiUnuttum = String.Format(MetinOku("Metinler/SifremiUnuttum.txt"), "Hakan", "123456");
Response.Write(SifremiUnuttum);
}
Ekrana şimdilik Benim belirttiğim formatta yazacaktır.
Bu durumda yukarıda da bahsettiğim gibi istediğiniz formatta ve alanda istediğiniz değişikliği yaparak mail gönderebilir yada metin dosyaları ile işlemleri okuyarak yapabilirsiniz.
Ben bu şekilde faydalanıyorum ve gerçekten büyük kolaylık sağlamaktadır.
Umarım Faydalı olur.