gpt4 book ai didi

c# - 在 .net 核心应用程序中使用带有 MailKit 的 Html 模板发送电子邮件

转载 作者:太空狗 更新时间:2023-10-30 00:48:55 31 4
gpt4 key购买 nike

我正在使用 MailKit 从 .net 核心应用程序发送电子邮件,它会成功发送。

但我想使用 HTML 模板在 .Net 核心中使用 MailKit 发送电子邮件。

这是当前发送带有静态正文部分的电子邮件的代码

 var emailMessage = new MimeMessage();
if (!string.IsNullOrWhiteSpace(cc))
{
emailMessage.Cc.Add(new MailboxAddress(cc));
}
else if (!string.IsNullOrWhiteSpace(EmailUserNameCC))
{
emailMessage.Cc.Add(new MailboxAddress(EmailUserNameCC));
}
if (!string.IsNullOrWhiteSpace(EmailUserNameBCC))
{
emailMessage.Bcc.Add(new MailboxAddress(EmailUserNameBCC));
}

emailMessage.From.Add(new MailboxAddress(mailFrom));
emailMessage.To.Add(new MailboxAddress(mailTo));
emailMessage.Subject = subject;
if (!string.IsNullOrWhiteSpace(replyTo))
{
emailMessage.InReplyTo = replyTo;
}
var builder = new BodyBuilder();// { TextBody = message };
builder.HtmlBody = message;

if (attachments != null && attachments.Count > 0)
{
foreach (var item in attachments)
{
builder.Attachments.Add(item.Key, item.Value);
}

builder.HtmlBody = builder.HtmlBody + " \n" + " PFA";

}
var multipart = new Multipart("mixed");
multipart.Add(new TextPart("html") { Text = message });

emailMessage.Body = builder.ToMessageBody();
using (var client = new SmtpClient())
{
var credentials = new NetworkCredential
{
UserName = EmailUserName,
Password = EmailPassword
};

if (!client.IsConnected)
{
client.Connect(SmtpHost, Convert.ToInt32(EmailHostPort));
client.Authenticate(EmailUserName, EmailPassword);
}
client.MessageSent += c_EmailReached;

client.Send(emailMessage);
}

现在,我想使用 HTML 模板来替换正文部分。那么如何在 .Net Core 中将 HTML 模板与 MailKit 一起使用呢?

附加:

-> 此外,在使用 html 模板发送电子邮件后,特殊字符不会显示在实际电子邮件中。对于某些特殊字符,它显示 � 。那么我该如何解决这个问题,以显示特殊字符。

谢谢。

最佳答案

您可以使用 StreamReader 读取源文件并将其分配给您的 builder.HtmlBody。

using (StreamReader SourceReader = System.IO.File.OpenText(path to your file))
{
builder.HtmlBody = SourceReader.ReadToEnd();
}

关于c# - 在 .net 核心应用程序中使用带有 MailKit 的 Html 模板发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42478814/

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