2016-11-09 5 views
3

テンプレートを使用している人にメールを送信しています。問題は、すべてのタグが表示されていることです。送信された電子メールにはまだHTMLタグが含まれています。

<p>Hello,</p> 

<p> Please, click the following link to change your password </p> 
//... 
<p> PLEASE DO NOT REPLY TO THIS MESSAGE</p> 

受信したメールは、すべてのタグを含む元のメッセージを正確に表示しています。

string path = System.Web.HttpContext.Current.Server.MapPath("~/path/myTemplate.txt"); 
String body; 
using (StreamReader sr = new StreamReader(path)) 
{ 
    body = sr.ReadToEnd(); 
} 

body = body.Replace("<%PasswordLink%>", pwdLink); 

var mail = new MailMessage("from", "to"); 
mail.Subject = "Password Reset"; 
mail.Priority = MailPriority.High; 
mail.Body = body; 

var client = new SmtpClient(); 
client.Port = 25; 
client.DeliveryMethod = SmtpDeliveryMethod.Network; 
client.Host = "123.45.67.89"; 
client.Send(mail); 
+0

あなたは真 'mail.IsBodyHtml =を行う奨め;' – SimpleVar

答えて

6

あなたがメールメッセージがHTMLであることを述べる必要があります。それは

ここにあります私のコードのように見えるようにする方法はあります。あなたはSystem.Web.Mail.MailMessageを使用している場合、使用します。

mail.BodyFormat = MailFormat.Html; 

をおSystem.Net.Mail.MailMessageを使用している場合は、使用します。

mail.IsBodyHtml = true; 
1

mail.IsBodyHtml = true;

を追加これは、電子メールの書式HTMLが有効になります。

1

私はあなたがHTMLとしてメール本文を定義する必要が推測:

mail.IsBodyHtml = true; 
関連する問題