我可以使用 ASP.NET 设置 HTML/电子邮件模板吗?

2023-11-24

我正在开发一个会发送大量电子邮件的网站。我想设置页眉和页脚文本,甚至可能是模板,以允许用户根据需要轻松编辑这些电子邮件。

如果我将 HTML 嵌入到 C# 字符串文字中,它会很丑陋,并且必须担心转义。包含页眉和页脚的平面文件可能可行,但感觉有些不对劲。

使用什么是理想的.ASPX以某种方式将页面作为模板,然后只需告诉我的代码来提供该页面,并使用为电子邮件返回的 HTML。

有没有一种简单又好用的方法来做到这一点?有没有更好的方法来解决这个问题?

Updated:
我添加了一个答案,使您能够使用标准 .aspx 页面作为电子邮件模板。只需像平常一样替换所有变量,使用数据绑定等。然后捕获页面的输出,瞧!您已获得 HTML 电子邮件!

更新但有警告!!!:
我在某些 aspx 页面上使用 MailDefinition 类效果很好,但是当尝试在正在运行的服务器进程期间使用此类时,它失败了。我相信这是因为 MailDefinition.CreateMailMessage() 方法需要一个有效的控件来引用,即使它并不总是执行某些操作。因此,我会推荐我使用 aspx 页面的方法,或者 Mun 使用 ascx 页面的方法,这似乎更好一些。


这里已经有大量答案,但我偶然发现了一篇关于如何将 Razor 与电子邮件模板结合使用的精彩文章。 Razor 是随 ASP.NET MVC 3 一起推出的,但使用 Razor 不需要 MVC。这是制作电子邮件模板的非常巧妙的处理

正如文章指出的那样,“Razor 最好的一点是,与它的前身(Webforms)不同,它不与 Web 环境绑定,我们可以轻松地将它托管在 Web 之外,并将其用作各种目的的模板引擎。”

使用 RazorEngine 生成 HTML 电子邮件 - 第 01 部分 - 简介

在 ASP.NET 之外利用 Razor 模板:它们不再仅适用于 HTML!

使用 RazorEngine 在 ASP.NET 中提供更智能的电子邮件模板

类似的 Stackoverflow QA

使用新的 RazorEngine API 进行模板化

在没有 MVC 的情况下使用 Razor

是否可以在 asp.net 之外使用 Razor View Engine

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以使用 ASP.NET 设置 HTML/电子邮件模板吗? 的相关文章

随机推荐

  • Magento 中独立的读写数据库

    我在网上找不到任何关于如何为 Magento 配置两个独立数据库的示例 一个用于读取请求 一个用于写入请求 我认为这应该发生在 app etc local xml 中 但我不知道语法是什么 有人知道语法或者有博客文章的链接或者我的搜索没有找
  • 将大量 CSV 文件上传到 SQL Server 数据库

    我需要将大量 16GB 超过 65 万条记录 CSV 文件上传到 SQL Server 2005 数据库中的单个表 有人对执行此操作的最佳方法有任何指示吗 Details 我目前正在使用 C 控制台应用程序 NET Framework 2
  • 在 Google 路线上添加 InfoWindow

    我正在尝试向路线添加信息窗口 有很多在标记上的事件侦听器上添加 InfoWindow 的示例 但是我如何移动信息窗口以显示从一个标记到另一个标记的实际计划路线 之前已经有人尝试问过这个问题但没有回应 路线信息窗口 不管怎样 我做了很多谷歌搜
  • 设置 Team Foundation Server 2010 的用户权限

    我们已经成功安装了TFS 2010 但不知道如何设置用户权限 我们是小型项目 有五个开发人员 一名经理和一名秘书 每个开发者都自己负责一个或多个项目 我们与任何项目之间没有合作 我们希望每个人都能看到每个项目的所有代码 但只有那些负责代码的
  • Windows 中是否有相当于 linux 命令“perf stat”的命令?

    Windows 中是否有相当于 linux 命令 perf stat 的命令 例如查看前端停顿 缓存未命中和其他性能计数器数据 perf是仅限 Linux 的分析器 能够访问硬件事件计数器 缓存未命中 CPU 停顿等 该分析器支持许多 CP
  • SQLAlchemy 一个映射类中的多个外键到同一主键

    我正在尝试设置一个 postgresql 表 该表有两个外键指向另一个表中的相同主键 当我运行脚本时出现错误 sqlalchemy exc AmbigouslyForeignKeysError 无法确定关系 Company stakehol
  • Chrome 中未捕获的 ReferenceError:ActiveXObject 未定义错误

    我在 Chrome 中遇到此错误 未捕获的引用错误 ActiveXObject 未定义 我的代码是 function loadModel document getElementById lModelMsg innerText Loading
  • 如何自定义/样式 codeigniter 错误?

    我正在尝试自定义 CSS HTML 以在 codeigniter 中显示错误消息 这样我就可以为每个标签应用一个标签并设置它们的样式 我尝试用谷歌搜索并搜索手册 但一定是搜索了错误的术语 有人可以帮助我吗 你可以做这样的事情 this gt
  • 在画布标签上绘制箭头

    我想使用canvas标签javascript绘制一个箭头 我已经使用二次函数实现了它 但是我在计算箭头的旋转角度时遇到问题 有人对此有任何线索吗 谢谢 我能得到的就这么简单 您必须自己在前面添加 context beginPath 并附加
  • Python:类似 jQuery 的函数链?

    我在谷歌上找不到任何关于这个主题的信息 所以我想我应该在这里问 是否可以像 jQuery 那样使用 Python 链接函数 my list foo1 arg1 arg2 foo2 arg1 arg2 foo3 arg1 arg2 etc 当
  • Javascript (ES6) 中的“...”是什么意思? [复制]

    这个问题在这里已经有答案了 我正在学习 Redux React 和 ES6 我已经使用 JS 进行了开发 但是 ES6 的这个新世界让我感到惊讶 它有很多新的东西 比如 gt 来声明箭头函数等 然而 在这项新的 Redux 研究中 我面临着
  • 如何在 Perl 中读取 Excel 文件?

    我正在寻找一些关于如何编写 Perl 脚本以从 Excel 文件读取数据 然后使用读入的数据 希望作为字符串 并将其传递到另一个 Perl 文件 作为参数 的示例 建议 目标是拥有一个表 用户可以在该表中键入一些数据 ftp 目标或文件名
  • ELF 可执行文件中 .dynamic .dynsym 和 .dynstr 之间的区别

    我的初步了解是 dynamic包含可执行文件需要加载的库 dynsym包含外部符号 例如setsockopt GLIBC 2 0 dynstr包含功能需求字符串 总的来说 我对这些部分如何一起创建二进制文件有点困惑 特别是 dynsym a
  • 我们可以在 mongodb 中更新/更新记录吗?数据源是kafka

    我们可以更新 更新插入 mongodb 中的记录 但是是否有任何方法或函数可以让我们直接在 mongodb 中更新或更新插入文档 并且源系统是 kafka 目标系统是 mongodb 是的 我们可以更新 更新插入数据 要更新 您必须在 Ka
  • Laravel Eloquent JSON Contains,如何提供WhereIn逻辑(数组值之一)

    这是我的代码 protected function room count room count query this gt builder gt whereJsonContains rent requests rooms count roo
  • 伪流式传输 MP4 文件

    我有一些关于伪流 MP4 文件的问题 是否下载了整个文件 例如 如果我将 1 分钟删除为 2 分钟的视频 是否只下载后半部分从而节省带宽 我可以使用 Chrome 开发工具检查这个吗 我该如何创建可用于伪流媒体的 MP4 我已经读到元数据需
  • 如何将我的 WordPress 博客合并到 iOS 应用程序中?

    如何将我的 WordPress 博客合并到 iOS 应用程序中 我有一个漂亮的文字新闻网站 我想创建一个本机 iOS 应用程序 我有 iOS 编码知识 但我只是不知道如何以漂亮的方式展示所有最新的博客 提前致谢 有很多方法可以实现这一目标
  • Boost序列化多个对象

    我正在使用二进制序列化带有 boost 的类 我使用 ios append 来继续将多个对象附加到该文件 如何检索所有存储的对象 这是我的测试类 它尝试多次序列化并检索它们 我已经评论了我没有获得正确数据的故障点 using namespa
  • 如何使用 SQL 复制行并获取新旧 ID 作为结果?

    我有一个表 我需要在其中复制某些行 我可以像这样获取新行的 ID DECLARE IDs TABLE ID int INSERT T name address OUTPUT INSERTED TID INTO ids SELECT name
  • 我可以使用 ASP.NET 设置 HTML/电子邮件模板吗?

    我正在开发一个会发送大量电子邮件的网站 我想设置页眉和页脚文本 甚至可能是模板 以允许用户根据需要轻松编辑这些电子邮件 如果我将 HTML 嵌入到 C 字符串文字中 它会很丑陋 并且必须担心转义 包含页眉和页脚的平面文件可能可行 但感觉有些