Forum

Asp.Net ile atılan ...
 
Bildirimler
Hepsini Temizle

Asp.Net ile atılan mailde Rusça karakter sorunu..

6 Yazılar
2 Üyeler
0 Reactions
1,159 Görüntüleme
(@tulay)
Gönderiler: 61
Trusted Member
Konu başlatıcı
 

Merhabalar,

Asp.Net'te hazırladığım bir sayfada bir butona basılıyor ve yazılan bir mail adresine mail atılıyor. Atılan mailde rusça karakterler var. Ancak outlook ta bu kararterler ??? şeklinde geliyor. Bölgesel dil ayarlarını değiştirdim, outlook default dilini rusça yaptım, web config dosyasında gerekli global ayarlarınıda yazdım, mail formatının içerisine rusça karakter için charsetlerde koydum ancak işe yaramadı. kod aşağıda ki gibidir:

  MailMessage msgMail = new MailMessage();
                msgMail.From = "[email protected]";
                msgMail.To = TextBox3.Text;
                msgMail.Subject = "Konu";
                msgMail.BodyFormat = MailFormat.Html;
                msgMail.Priority = MailPriority.High;

                string body = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//RU\">";
                body += "<HTML><BODY><META http-equiv=Content-Type content=\"text/html; charset=ISO-8859-5\">";
                body += "<DIV>Уваж" + TextBox1.Text + " " + TextBox2.Text + "<br/>";
                body += "Ваш эксклюзивный код для получе" + kuponkod + "<br/>";
                body +="Насла" + "<br/>";
                body +="жением <br/> <br/>";
                body += "всю стоим упки. <br/> Скид раз. <br/> енежного экви упки. <br/> ватель прия испол ";
                body += "</DIV></BODY></HTML>";
                msgMail.Body=body;

 

Cevaplarınızı bekliyorum.

 Teşekkürler.

 
Gönderildi : 05/04/2010 17:16

(@ismailadar)
Gönderiler: 134
Estimable Member
 

Merhabalar,


MailMessage sınıfının BodyEncoding propertysi ile deneyebilirmisiniz eger bölgesel dil seçeneklerinden bunu ayarladıysanız kodunuza sunu da ekleyin.


msgMail.BodyEncoding = System.Text.Encoding.Default;

 
Gönderildi : 05/04/2010 17:54

(@tulay)
Gönderiler: 61
Trusted Member
Konu başlatıcı
 

Merhaba,

denedim dediğinizi daha önce de denemişim ancak işe yaramadı 🙁

Ben şu şekilde denedim ;

msgMail.BodyEncoding = System.Text.Encoding.UTF8;

Teşekkürler.

 
Gönderildi : 05/04/2010 20:22

(@ismailadar)
Gönderiler: 134
Estimable Member
 

Merhaba asp.net uygulamanızda eger response.write ile bu karakterleri ekrana yazdırabiliyorsanız bu yöntem cözmez problemi fakat html kodlarında meta tagını charset=iso-8859-5 değeri değiştirebilirmisiniz?


ayrıca uygun kaakter setleri için buraya bakabilirmisiniz.


http://a4esl.org/c/charset.html  bakabilirsiniz.


 

 
Gönderildi : 06/04/2010 12:43

(@tulay)
Gönderiler: 61
Trusted Member
Konu başlatıcı
 

İsmail Bey,

zaten html meta tagı içerisinde ki charset dediğiniz gibi tanımlamıştım, kodlar içerisinde var.

 
Gönderildi : 06/04/2010 16:03

(@tulay)
Gönderiler: 61
Trusted Member
Konu başlatıcı
 

Merhabalar,

koda kalın karakterler ile yazdığım satırları ekleyerek çözüme ulaştım.

  MailMessage msgMail = new MailMessage();
               
msgMail.From = "[email protected]";

               
msgMail.To = TextBox3.Text;
                msgMail.Subject =
"Konu";
                msgMail.BodyFormat = MailFormat.Html;
                msgMail.BodyEncoding = System.Text.Encoding.UTF8;
               
msgMail.Priority = MailPriority.High;

                string
body = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0
Transitional//RU\">";
                body +=
"<HTML><BODY><META http-equiv=Content-Type
content=\"text/html; charset=ISO-8859-5\">";
                body
+= HttpUtility.UrlDecode(
"<DIV>Уваж") + TextBox1.Text + " " + TextBox2.Text +
"<br/>";
                body += "Ваш эксклюзивный код для
получе" + kuponkod + "<br/>";
                body +="Насла" +
"<br/>";
                body +="жением <br/>
<br/>";
                body += "всю стоим упки. <br/>
Скид раз. <br/> енежного экви упки. <br/> ватель прия испол
";
                body += "</DIV></BODY></HTML>";
               
msgMail.Body=body;

 

Teşekkürler.

 
Gönderildi : 06/04/2010 16:46

Paylaş: