我用 React 模板创建了一个 .Net Core WebAPI 项目。现在我想从 API 发送一封带有电子邮件模板的电子邮件。模板是 Html 格式,所以我们需要从根路径读取 Html 文件作为模板,但默认情况下,“wwwroot”路径在本项目中不可用。
我已经在我之前的 .Net Core MVC 项目中完成了这一点,如下所示,但由于没有“WWWRoot”文件夹,我不知道如何在当前项目中做到这一点。任何人都可以帮我知道在哪里存储这个模板文件以及如何在c#中将它作为字符串检索?
//Get the email template path
string templatePath = RuntimeConfig.SiteUrl + "/Template/EmailTemplate.html";
//Adding the template to the email body
using (var client = new WebClient())
{
string reader = client.DownloadString(templatePath);
StringBuilder sb = new StringBuilder();
sb.Append(reader);
....
.... --logics---
}
我想从 API 发送一封带有电子邮件模板的电子邮件。
在我看来,电子邮件模板文件不应直接提供给客户。
为了达到您的要求,您可以尝试:
创建一个文件夹来存储您的电子邮件模板文件
在控制器操作中从该文件夹访问/读取模板文件
public class EmailController : ControllerBase
{
private IWebHostEnvironment _env;
public EmailController(IWebHostEnvironment env)
{
_env = env;
}
[HttpPost]
public IActionResult SendConfirmEmail()
{
var path= Path.Combine(_env.ContentRootPath, @"EmailTemplates\" + "ConfirmEmailTemplate.html");
var template = System.IO.File.ReadAllText(path);
//code logic here
//...
//other actions
//...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句