【问题标题】:How to add email scheduler in asp.net?如何在 asp.net 中添加电子邮件调度程序?
【发布时间】:2013-12-08 23:00:29
【问题描述】:

我想在一个 Asp.net Web 应用程序中配置电子邮件调度程序,但我不知道如何实现。有谁知道我怎么能做到这一点?我只想在特定时间发送电子邮件。

【问题讨论】:

标签: asp.net .net


【解决方案1】:

您可以使用调度程序框架,例如Quartz.net。您可以在 Quartz.net 中创建作业并创建触发器。触发器在特定时间、一天、一个月、每晚等时间启动作业。您将使用 Cron 调度程序来安排您的作业(即触发器)。

【讨论】:

    【解决方案2】:

    我认为最简单的方法是编写一个好的老式控制台程序,它在运行时发送电子邮件。然后,您只需使用调度程序在您想要的时间运行它。

    【讨论】:

      【解决方案3】:

      我使用下一个解决方案。

      在您的 Global.asax 中将此行添加到 Application_Start 方法:

      this.Application["Timer"] = new Timer(new TimerCallback(EMailProcessor.Process), null, 0, 60000);
      

      您的 EMailProcessor 类可能如下所示:

      public class EMailProcessor
      {
          public static void Process(object state)
          {
              // Your code here
          }
      }
      

      希望这是你需要的。

      UPD:这是可行的,因为 asp.net 应用程序是“真正的”应用程序,并且即使没有对服务器的请求也在运行。

      【讨论】:

      • 请注意,在默认配置中,IIS 将在一段时间不活动(无用户请求)后关闭您的 ASP.NET 进程,这可能会导致邮件延迟。
      • 是的。但默认空闲超时为 20 分钟(如果设置为 0,它将关闭)。因此,如果您的计时器的周期更短,那么该值应用程序将永远不会停止。
      猜你喜欢
      • 1970-01-01
      • 2015-11-02
      • 2012-01-27
      • 2011-08-04
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      相关资源
      最近更新 更多