Asp.Net C# Html Mail Şablonu
-
Merhabalar ; .Net mail ile içeriği basit html kodlarıyla mail gönderebiliyorum ancak işin içine tablolar ve linkler girince bir türlü beceremedim, aslında öğrenmek istediğim harici bi html şablonunun dan maili göndermek,
Örnek olarak sablon.html diye bir şablonumuz var ve bu şablonun içerisinde değişkenlerin geleceği yerler " ["FullName"] " gibi taglerle düzenlenmiş Mesela Mailin üsst kısmında Merhaba ; ["FullName"] yazıyor orada kullanıcının adı soyadı çıkıyor artık direk db den mi alıyor tanımlanan değişkenden mi alıyor bilmiyorum, böyle bir mail şablonu nasıl hazırlayabilirim bu sistemin adı vs nedir ?
İhtiyacı olan arkadaşlar için aşağıda şuan kullandığım mail gönderme kodlarını paylaşıyorum kendinize göre gayet rahat düzenleyebilirsiniz..
StringBuilder mesaj = new StringBuilder();
mesaj.Append("<b>");
mesaj.Append("SİPARİŞ DURUMU");
mesaj.Append("</b>");
mesaj.Append("<br>");
mesaj.Append("<br>");
mesaj.Append("Sipariş Tarihi : ");
mesaj.Append(OrderDate);
mesaj.Append("<br><br>");
mesaj.Append("<b>");
mesaj.Append(Ordernumber + "/" + OrderCode + "</b>");
mesaj.Append(" Numaralı siparişiniz kargoya verilmiştir.");
mesaj.Append("<br>");
mesaj.Append("<br>");
mesaj.Append("Kargo takip numaranız : " + "<b>" + Fcode );
MailMessage yenimesaj = new MailMessage
("gonderen@domain.com", Email, "Siparişiniz Gönderildi", mesaj.ToString());
SmtpClient smtp = new SmtpClient("mail.domain.com");
smtp.Credentials = new System.Net.NetworkCredential
("mail@domain.com", "Şifre");
yenimesaj.IsBodyHtml = true;
smtp.Send(yenimesaj); -
mesela,
http://stackoverflow.com/questions/20267/best-way-to-replace-tokens-in-a-large-text-template
-
Abi ben bundan pek birşey anlamadım ya ; sanırım şurada
replacements.Add("<%To%>", someValue);<%To%>değer alan değişken somevalue dediği de html içerisinde ki alan mı "birdemd.BodyFileName = pathToTemplate;" buradası da html dosyasının yolunun yazdırıldıgı değiken sanırım yada ben cahil zekasıyla böyle yorumladım :) -
SharpShooter : teşekkürler replace ile halletim oldukça kullanışlı ve basit bir durummuş
Örnek kodu akşama doğru bilgisayarıma geçince eklerim diğer arkadaşların da işine yarar belki.
LuCiFeR tarafından 16/Oca/13 14:38 tarihinde düzenlenmiştir -
LuCiFeR bunu yazdı
SharpShooter : teşekkürler replace ile halletim oldukça kullanışlı ve basit bir durummuş
Örnek kodu akşama doğru bilgisayarıma geçince eklerim diğer arkadaşların da işine yarar belki.
işine yaramasına sevindim, diğer postunu anca şimdi gördüm :/
kolay gelsin
-
System.IO.StreamReader myFile = new System.IO.StreamReader(Server.MapPath("~/Content/*******/*********.htm"));
string temp = myFile.ReadToEnd();
temp = temp.Replace("#ADSOYAD#", myKullanici.Ad + " " + myKullanici.Soyad);
temp = temp.Replace("#KULLANICIADI#", myKullanici.KullaniciAd);
temp = temp.Replace("#AKTIVEKOD#", myKullanici.MailAktiveKod);
temp = temp.Replace("#MAILADRES#", myKullanici.Eposta);
Inits.MailGonder(myKullanici.Eposta, "********** Eposta Üyelik Aktivasyon", temp);
-
network bunu yazdı
System.IO.StreamReader myFile = new System.IO.StreamReader(Server.MapPath("~/Content/*******/*********.htm"));
string temp = myFile.ReadToEnd();
temp = temp.Replace("#ADSOYAD#", myKullanici.Ad + " " + myKullanici.Soyad);
temp = temp.Replace("#KULLANICIADI#", myKullanici.KullaniciAd);
temp = temp.Replace("#AKTIVEKOD#", myKullanici.MailAktiveKod);
temp = temp.Replace("#MAILADRES#", myKullanici.Eposta);
Inits.MailGonder(myKullanici.Eposta, "********** Eposta Üyelik Aktivasyon", temp);
hocam arkadaşa cevap yazmak için konuya girdim fakat çözüm bulunmuş. bu mesajı yazma sebebim ise cevabını çok begendiğim. harika bir çözüm olmuş.
-
NuLL29 bunu yazdınetwork bunu yazdı
System.IO.StreamReader myFile = new System.IO.StreamReader(Server.MapPath("~/Content/*******/*********.htm"));
string temp = myFile.ReadToEnd();
temp = temp.Replace("#ADSOYAD#", myKullanici.Ad + " " + myKullanici.Soyad);
temp = temp.Replace("#KULLANICIADI#", myKullanici.KullaniciAd);
temp = temp.Replace("#AKTIVEKOD#", myKullanici.MailAktiveKod);
temp = temp.Replace("#MAILADRES#", myKullanici.Eposta);
Inits.MailGonder(myKullanici.Eposta, "********** Eposta Üyelik Aktivasyon", temp);
hocam arkadaşa cevap yazmak için konuya girdim fakat çözüm bulunmuş. bu mesajı yazma sebebim ise cevabını çok begendiğim. harika bir çözüm olmuş.
teşekkür ederim :)
-
network bunu yazdıNuLL29 bunu yazdınetwork bunu yazdı
System.IO.StreamReader myFile = new System.IO.StreamReader(Server.MapPath("~/Content/*******/*********.htm"));
string temp = myFile.ReadToEnd();
temp = temp.Replace("#ADSOYAD#", myKullanici.Ad + " " + myKullanici.Soyad);
temp = temp.Replace("#KULLANICIADI#", myKullanici.KullaniciAd);
temp = temp.Replace("#AKTIVEKOD#", myKullanici.MailAktiveKod);
temp = temp.Replace("#MAILADRES#", myKullanici.Eposta);
Inits.MailGonder(myKullanici.Eposta, "********** Eposta Üyelik Aktivasyon", temp);
hocam arkadaşa cevap yazmak için konuya girdim fakat çözüm bulunmuş. bu mesajı yazma sebebim ise cevabını çok begendiğim. harika bir çözüm olmuş.
teşekkür ederim :)
Bu arkadaşın verdiği kod baya bi hızlıdır yani eğer bi yazıda birden fazla replace varsa bunu kullanmak 3-4 kat daha hızlı çalışmasını sağlar kodun diğerrine göre.
