如何解决MVC 3:电子邮件通知
| 我想将电子邮件通知系统集成到我的MVC3应用程序中。因此,当用户任务到期时,他们会收到一封电子邮件提醒。我是MVC的新手,所以我想向您指出正确的方法。 非常感谢, 戴尔解决方法
在我看来,您正在寻找要在截止日期临近时发送出去的电子邮件,而不必依靠用户操作来触发电子邮件。为此,您需要某种外部流程,可以定期检查并根据需要发送电子邮件。
设置的方法有多种,但是对于Web应用程序,我最喜欢的一种方法是让脚本或服务在后台运行,而该脚本或服务仅在计时器上命中Web应用程序的页面。然后,该页面负责检查数据库并发出需要发送的所有电子邮件。您还可以做一些有趣的事情,以确保此过程不会通过构建速率限制功能来过多地负担MVC应用程序的核心功能。 (我相信,FogBugz的工作就是处理一系列电子邮件,这些电子邮件需要以不降低用户速度的方式发送或提取)
其他执行此操作的方法基本上是相同的模式,但是何时发送电子邮件和实际发送电子邮件的逻辑已从MVC应用程序转移到外部流程中。
至于如何发送实际的电子邮件,谷歌快速搜索如何从.Net发送电子邮件(假设您正在谈论ASP.Net MVC3)将为您提供有关如何发送电子邮件的更好的信息。 。
,我将首先熟悉依赖关系注入的概念,然后开发作为通用模块发送通知的代码。
实际的通知引擎不需要了解您的应用程序或触发电子邮件的内容,您应该能够构建(或使用)简单地将消息发送给一组收件人的东西(您可以确定此组件的功能)是,但它不能渗入基础应用程序的逻辑)。
一旦测试通过,并且您确信它也可以完成所需的工作,则可以根据需要将其简单地注入到mvc应用程序中。这样,您的应用程序的控制器将根据需要使用通知服务来执行必要的应用程序逻辑。
理想情况下,您的MVC应用程序根本不应该包含太多的业务逻辑,它应该只包含对执行应用程序逻辑的一堆不同服务的引用,而您的控制器应该只知道如何正确使用这些服务。
,我非常喜欢使用Quartz执行此类后台进程。它可以托管在Windows服务或ASP.NET中。
除了发送电子邮件之外,您还需要存储发送通知的时间,以避免发送重复的通知。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。