首页 > 解决方案 > 从 asp.net mvc web app 发送每日通知邮件

问题描述

我开发了一个 C# Web 应用程序 MVC,它通过 API 调用从另一个站点 (Trello) 获取一些信息,并允许用户执行一些操作,例如打印包含所有卡片详细信息的 .xls 文件。现在,我想实现一个功能,每天在特定时间在后台向我的 Gmail 帐户发送一封邮件,并以 Excel 作为附件。我想在一个外部项目中实现该功能,但在同一个解决方案中,但我不知道该怎么做,我听说过quartz.net,但我不明白它是如何工作的,我不知道那是不是正确的解决方案。任何人都可以帮助我并给我一些提示吗?

ps 我无法托管应用程序

编辑 - 新问题


当我尝试使用 Quartz.Net 实现我的后台作业时,我收到了这个错误,即我的类SendMailJob没有实现接口成员 IJob.Execute。

我必须做什么?

这是我的工作课程:

public class SendMailJob : IJob
{
    public void SendEmail(IJobExecutionContext context)
    {
        MailMessage Msg = new MailMessage();

        Msg.From = new MailAddress("mymail@mail.com", "Me");

        Msg.To.Add(new MailAddress("receivermail@mail.com", "ABC"));

        Msg.Subject = "Inviare Mail con C#";

        Msg.Body = "Mail Sended successfuly";
        Msg.IsBodyHtml = true;

        SmtpClient Smtp = new SmtpClient("smtp.live.com", 25);

        Smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

        Smtp.UseDefaultCredentials = false;
        NetworkCredential Credential = new
        NetworkCredential("mymail@mail.com", "password");
        Smtp.Credentials = Credential;

        Smtp.EnableSsl = true;

        Smtp.Send(Msg);
    }
}

标签: c#asp.netmodel-view-controllerquartz.net

解决方案


您可以创建一个 windows 服务或创建一个控制台应用程序并在 windows scheduler 中进行调度。我已经使用 Windows 服务实现了 Send-mail 服务。


推荐阅读