Fartaj
چهارشنبه 11 مرداد 1391, 15:58 عصر
سلام خدمت دوستان
من قبلا برای ارسال ایمیل از روش معمولی استفاده می کردم اما خوب با فارسی مشکل داشت حالا اومدم با یک تمپلیت اون رو بفرستم اما نمی دونم چرا ایمیلی که می فرسته انگار کلا کدهای html رو می فرسته ؟
کد html :
<!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>
<title></title>
</head>
<body>
<div dir="rtl" style="font-family: Tahoma; font-size: large">
با سلام : #name#
<br />
<br />
</div>
<div dir="rtl" style="font-family: Tahoma; font-size: large">
<br />
#text#
<br />
</div>
<br /><br />
</body>
</html>
کد C# :
protected void SendMail()
{
StreamReader reader = default(StreamReader);
string strFileName = Server.MapPath("mail_template.htm");
dynamic strFileText = null;
reader = File.OpenText(strFileName);
while (reader.Peek() != -1)
{
strFileText += reader.ReadLine();
}
reader.Close();
strFileText = strFileText.Replace("#name#", lblname.Text);
strFileText = strFileText.Replace("#text#", txtmail.Text);
MailMessage objMail = new MailMessage();
var fromAddress = "***@gmail.com";
var toAddress = lblemail.Text.ToString();
const string fromPassword = "*****";
string subject = " هتل" +' '+ hname.Text;
string body = strFileText;
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 20000;
}
smtp.Send(fromAddress, toAddress, subject, body);
}
protected void btninsert_Click(object sender, EventArgs e)
{
SendMail();
lblsabt.Text = "پیام شما با موفقیت ارسال شد";
lblsabt.Visible = true;
Image3.Visible = true;
}
خروجی داخل ایمیل :
<!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> <title></title></head><body> <table dir="rtl" style="width:100%;"> <tr> <td> <div dir="rtl" style="font-family: Tahoma; font-size: large"> با سلام : مصطفی <br /> <br /> </div> </td> </tr> <tr> <td> <div dir="rtl" style="font-family: Tahoma; font-size: large"> <br /> تست <br /> </div> </td> </tr> </table><br /><br /> </body></html>
مطالب داینامیک رو جایگزین می کنه ولی اینجوری می فرسته
من قبلا برای ارسال ایمیل از روش معمولی استفاده می کردم اما خوب با فارسی مشکل داشت حالا اومدم با یک تمپلیت اون رو بفرستم اما نمی دونم چرا ایمیلی که می فرسته انگار کلا کدهای html رو می فرسته ؟
کد html :
<!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>
<title></title>
</head>
<body>
<div dir="rtl" style="font-family: Tahoma; font-size: large">
با سلام : #name#
<br />
<br />
</div>
<div dir="rtl" style="font-family: Tahoma; font-size: large">
<br />
#text#
<br />
</div>
<br /><br />
</body>
</html>
کد C# :
protected void SendMail()
{
StreamReader reader = default(StreamReader);
string strFileName = Server.MapPath("mail_template.htm");
dynamic strFileText = null;
reader = File.OpenText(strFileName);
while (reader.Peek() != -1)
{
strFileText += reader.ReadLine();
}
reader.Close();
strFileText = strFileText.Replace("#name#", lblname.Text);
strFileText = strFileText.Replace("#text#", txtmail.Text);
MailMessage objMail = new MailMessage();
var fromAddress = "***@gmail.com";
var toAddress = lblemail.Text.ToString();
const string fromPassword = "*****";
string subject = " هتل" +' '+ hname.Text;
string body = strFileText;
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 20000;
}
smtp.Send(fromAddress, toAddress, subject, body);
}
protected void btninsert_Click(object sender, EventArgs e)
{
SendMail();
lblsabt.Text = "پیام شما با موفقیت ارسال شد";
lblsabt.Visible = true;
Image3.Visible = true;
}
خروجی داخل ایمیل :
<!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> <title></title></head><body> <table dir="rtl" style="width:100%;"> <tr> <td> <div dir="rtl" style="font-family: Tahoma; font-size: large"> با سلام : مصطفی <br /> <br /> </div> </td> </tr> <tr> <td> <div dir="rtl" style="font-family: Tahoma; font-size: large"> <br /> تست <br /> </div> </td> </tr> </table><br /><br /> </body></html>
مطالب داینامیک رو جایگزین می کنه ولی اینجوری می فرسته