c# - 从 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);
}
}
解决方案
您可以创建一个 windows 服务或创建一个控制台应用程序并在 windows scheduler 中进行调度。我已经使用 Windows 服务实现了 Send-mail 服务。
推荐阅读
- rust - 无法将 Struct 属性设置为 Enum Rust
- python - 在 python 中使用 ECB、CBC 和 CFB 模式加密图像时出现错误“IV 没有意义”
- c# - 每次玩家射击子弹时,Unity 编辑器都会冻结
- powershell - powershell 如何从组成员中创建/格式化动态列表以在每个循环中使用
- powershell - 不是编辑器命令:在 Windows 10 上安装新的 Vundle 后的 PluginInstall
- hyperledger-fabric - 获取链码的不同包 ID - Hyperledger Fabric 2.2.0
- r - 使用特定标准在 R 中保留一行并丢弃其他行?
- r - 如何使用 R 通过向量通过迭代或组合构造输入字符串?
- linux-kernel - SMAP/SMEP 是否会阻止用户空间 (kmalloc) 中的分配?
- android - 使用 mActivity = context 在片段 onAttach 中是否存在内存泄漏?