Я использую следующий код для создания и отправки электронного письма с помощью RazorEngine.
//build email using template.
string template = File.OpenText(EmailTemplatePath).ReadToEnd();
OrganizationInviteEmailTemplate model = new OrganizationInviteEmailTemplate()
{
FirstName = Invitation.FirstName,
LastName = Invitation.LastName,
Message = Message,
OrganizationName = Invitation.Organization.OrganizationName,
ConfirmUrl = string.Format(ConfirmUrlTemplate, Invitation.InviteCode)
};
string body = Razor.Parse(template, model);
//email the invitation.
MailMessage message = new MailMessage();
message.To.Add(Invitation.Email);
message.Subject = "Invitation From " + Invitation.Organization.OrganizationName;
message.Body = body;
message.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.Send(message);
Шаблон ниже:
<html>
<head>
</head>
<body>
<h3>@Model.OrganizationName has invited you to be part of their organization</h3>
<p>
Hi @Model.FirstName,
</p>
.....etc......
</body>
</html>
Я получаю «Невозможно скомпилировать шаблон"ошибка 9 раз из 10, и затем она будет работать один раз после того, как я настрою шаблон, удалив Model. и / или настроив код для использования Parse вместо этого, но затем он пойдетВернемся к не работает.Как будто что-то кеширует кусок кода кратко или что-то в этом роде.
Я использую RazorEngine.dll, включенный в RazorJS , версия 2.1.4113.149.Может быть, это проблема.Попробуем эту библиотеку или Почтовый дальше, так как это занимает слишком много времени.Или просто жестко закодировать эту чертову штуку.