MVC 3:电子邮件通知

如何解决MVC 3:电子邮件通知

| 我想将电子邮件通知系统集成到我的MVC3应用程序中。因此,当用户任务到期时,他们会收到一封电子邮件提醒。我是MVC的新手,所以我想向您指出正确的方法。 非常感谢, 戴尔     

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?