谁能帮我做决定?我在网上看到了一些变体,但我不想使用其他人的一些现成的东西。我想使用 .net 提供的可能性来创建自己的功能。
任何帮助将不胜感激。提前谢谢你
谁能帮我做决定?我在网上看到了一些变体,但我不想使用其他人的一些现成的东西。我想使用 .net 提供的可能性来创建自己的功能。
任何帮助将不胜感激。提前谢谢你
这样做真的很简单:
var emailModelData = new
{
Name = "John Someone",
OrganizationName = "OragnizationName"
};
var templatePath = physicalApplicationPath +
@"EmailTemplates\" + Mail.Default.WelcomeMailTemplate + ".cshtml";
var template = System.IO.File.ReadAllText(templatePath, Encoding.Default);
var body = Razor.Parse(template, emailModelData);
//this is doesnt matter it is just and object which i pass to the SendEmail function below
var simpleMailMessage = new SimpleMailMessage
{
To = recipientEmail,
From = Mail.Default.From,
Body = body,
IsBodyHtml = true,
ReplyTo = Mail.Default.ReplyTo,
Subject = "subject blah blah"
};
//If using a test mail address. Used in development
if (Mail.Default.SendToTestEmailAddress)
{
simpleMailMessage.Bcc = string.Empty;
simpleMailMessage.CC = string.Empty;
simpleMailMessage.To = Mail.Default.TestEmailAddress;
}
//see below the code for the SendEmail funciton
_email.SendEmail(simpleMailMessage, null, Constants.WEBSITE_SOURCE_NAME);
//------------------------------------------------ --------
public bool SendMail(SimpleMailMessage mail)
{
using (var client = new SmtpClient())
{
try
{
var email = CreateMailMessage(mail);
client.Send(email);
return true;
}
catch (Exception exception)
{
return false;
}
}
return false;
}
private static System.Net.Mail.MailMessage CreateMailMessage(SimpleMailMessage mail)
{
var msg = new System.Net.Mail.MailMessage();
if (!string.IsNullOrEmpty(mail.From))
msg.From = new MailAddress(mail.From);
if (!string.IsNullOrEmpty(mail.Subject))
msg.Subject = mail.Subject;
if (!string.IsNullOrEmpty(mail.Body))
msg.Body = mail.Body;
msg.IsBodyHtml = true;
if (!string.IsNullOrEmpty(mail.Sender))
msg.Sender = new MailAddress(mail.Sender);
if (!string.IsNullOrEmpty(mail.To))
msg.To.Add(new MailAddress(mail.To));
if (!string.IsNullOrEmpty(mail.ReplyTo))
msg.ReplyToList.Add(new MailAddress(mail.ReplyTo));
if (!string.IsNullOrEmpty(mail.CC))
msg.CC.Add(new MailAddress(mail.CC));
if (!string.IsNullOrEmpty(mail.Bcc))
msg.Bcc.Add(mail.Bcc);
return msg;
}
这里有几个链接可能会有所帮助
这是相关的博客文章http://aboutcode.net/2010/11/17/going-postal-generating-email-with-aspnet-mvc-view-engines.html