Как использовать HTML-файл в качестве входных данных для тела письма в asp.net mvc - PullRequest
0 голосов
/ 01 октября 2018

Я занимаюсь разработкой целевой страницы почты.Я хочу загрузить HTML-файл, который я буду использовать в качестве основного письма для отправки электронной почты.В настоящее время я настраиваю почтовое тело следующим образом:

MailMessage mail = new MailMessage();
mail.From = new MailAddress("robin35-908@diu.edu.bd");
mail.To.Add(new MailAddress(MailTo));
mail.Subject = "test";
mail.IsBodyHtml = true;
mail.Body=@"html text with (") replaced with ("") ";

Теперь мне нужно ввести html-файл, а затем использовать текст в качестве почтового тела. Я хочу прочитать файл из того места, где он будетна том же сервере.Таким образом, загрузка не требуется.Как мне этого добиться?

1 Ответ

0 голосов
/ 01 октября 2018

Использование StreamReader для доступа к файлу, считывание в виде потока.

Исходя из вашего вопроса, я предполагаю, что у вас уже есть файл template.html в корневой папке приложения.Поскольку это шаблон, ваш html должен содержать некоторый текст ключа шаблона, должен добавить {{title}}, {{Name}}, {{Signature}} ...

Например: template.html

Dear {{Name}},

I would love to discuss with you about {{title}}

Regards,
{{Signature}}

Псевдокод:

string body = string.Empty;  
//using streamreader for reading my htmltemplate   

using(StreamReader reader = new StreamReader(Server.MapPath("~/template.html")))  
{  

    body = reader.ReadToEnd();  

}  
//Update your string with template key
body = body.Replace("{{Name}}", name);
body = body.Replace("{{Title}}", title);
body = body.Replace("{{Signature}}", signature);

return body;  
...