C# 发送一封以HTML文件为正文的电子邮件。发送电子邮件时,需要将名称、电子邮件地址等参数注入文件中

C# 发送一封以HTML文件为正文的电子邮件。发送电子邮件时,需要将名称、电子邮件地址等参数注入文件中,c#,asp.net,C#,Asp.net,我有一个HTML模板保存为文件。基本上,我想做的是在客户购买产品时触发一封欢迎电子邮件。电子邮件正文将与保存的HTML文件相同。目前,我正在用下面的方法做这件事 我的cs文件如下所示: public Task<EmailResponse> SendEmail(EmailRequest emailObject) { var response = new EmailResponse(); var smtpClient = n

我有一个HTML模板保存为文件。基本上,我想做的是在客户购买产品时触发一封欢迎电子邮件。电子邮件正文将与保存的HTML文件相同。目前,我正在用下面的方法做这件事

我的cs文件如下所示:

public Task<EmailResponse> SendEmail(EmailRequest emailObject)
        {
            var response = new EmailResponse();
            var smtpClient = new SmtpClient
            {
                EnableSsl = false,
                Port = 
                Host = ""
            };

            var Message = new MailMessage
            {
                Subject = ,
                From = new MailAddress(emailObject.FromEmail, emailObject.FromName),
                IsBodyHtml = true,
                Body = WebUtility.HtmlDecode(emailObject.Html)
                };
...
}
公共任务发送电子邮件(EmailRequest emailObject)
{
var response=newemailresponse();
var smtpClient=新的smtpClient
{
EnableSsl=false,
端口=
Host=“”
};
var Message=新邮件消息
{
主题=,
From=新邮件地址(emailObject.FromEmail、emailObject.FromName),
IsBodyHtml=true,
Body=WebUtility.HtmlDecode(emailObject.Html)
};
...
}
您可以使用SMTP

SmtpClient smtp = new SmtpClient("yoursmtp.com");
MailMessage mail = new MailMessage();
mail.From = new MailAddress("xyz@xyz.com");
mail.IsBodyHtml = true;
mail.Subject = "Your " + Name + " User Access information";
mail.To.Add(obj.config.data.email);
mail.body = "<html><body><p>Hi" + " "+ obj.config.data.firstName + ","
+ "</p><p>Below is your user name and password to access the " + Name +" application.</p>....
smtp.Send(mail);

身体也是一样。

但我希望邮件按照保存的html文件发送。基本上,文件将被读取到内存中,然后名称、电子邮件等将被替换为所需的信息。很抱歉,我没有正确理解,所以您希望正文是html文件并在程序中读取吗?或者您希望您的程序生成html文件吗?正文内容应该从html文件中读取。我尝试使用StreamReader=newstreamreader(Server.MapPath(“~/expo\u crm/test/HTMLPage.htm”);但它给出了一个错误,说明服务器在当前上下文中不存在。
$"Your {Name} User Access information";