gpt4 book ai didi

.net - 使用 Razor 模板在 MVC3 中发送电子邮件

转载 作者:行者123 更新时间:2023-12-01 12:53:30 25 4
gpt4 key购买 nike

谁能帮我做决定?我在网上看到了一些变体,但我不想使用其他人做的一些现成的东西。我想使用 .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;
}

关于.net - 使用 Razor 模板在 MVC3 中发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10847727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com