2013-04-16 2 views
0

Используя простой код SMTP C# ниже, чтобы отправить электронное письмо, как я могу отправить шаблон электронной почты?C# Отправка .htm email Template

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); 
    message.To.Add(toEmailAddress); 
    message.Subject = "subject"; 
    message.From = new System.Net.Mail.MailAddress(from); 
    message.Body = "http://www.yoursite.com/email.htm"; 
    message.IsBodyHtml = true; 
    System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("server"); 
    smtp.Send(message); 

В настоящее время, как и ожидалось, полученное письмо содержит только URL-адрес шаблона. как я могу получить его для отправки шаблона?

+0

Вам нужно будет привести HTML в строку и установить это как тело. – tomasmcguinness

ответ

2
System.Net.WebClient client = new System.Net.WebClient(); 
string html = client.DownloadString("http://www.yoursite.com/email.htm"); 

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); 
message.To.Add(toEmailAddress); 
message.Subject = "subject"; 
message.From = new System.Net.Mail.MailAddress(from); 
message.Body = html; 
message.IsBodyHtml = true; 
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("server"); 
smtp.Send(message); 
0

Ваш вопрос на самом деле о чтении строки из URL и один из возможных ответов:

var url = "http://www.yoursite.com/email.htm"; 
var body = ""; 

using(var client = new WebClient()) { 
    body = client.DownloadString(url); 
} 
0

Если файл является локальным, вместо того чтобы использовать загрузку, вы можете просто прочитать его в используя System.IO, например

string html; 
    System.IO.StreamReader fstream; 
    fstream = File.OpenText("yourpathgoeshere.html"); 
    html = fstream.ReadToEnd(); 
    fstream.Close(); 

После этого просто назначьте остальные свойства, как указано в других сообщениях. Если файл html, который вы используете, хранится локально, это, вероятно, лучше, или если он будет доступен часто, может быть лучше хранить его локально и использовать этот метод.

примечание, вам необходимо будет импортировать System.IO для правильной работы.