任何人都可以帮我做出决定吗? 我在网上看到一些变种,但我不想使用其他人的一些准备好的东西。 我想用.net给出的可能性来创建我自己的功能。
任何帮助将不胜感激。提前谢谢你
答案 0 :(得分:4)
这样做真的很简单:
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;
}
答案 1 :(得分:0)