Реализация напоминания в MVC с помощью кварца .net - PullRequest
0 голосов
/ 05 июля 2018

Я хочу иметь напоминание на своем веб-сайте, поэтому я решил использовать кварцевую .net библиотеку. Я хочу отправить конкретное письмо в определенное время. я реализовал IJob интерфейс, используя код ниже

public class EmailJob : IJob
{
    public async Task Execute(IJobExecutionContext context)
    {
        using (var message = new MailMessage("example@gmail.com", "example2@gmail.com"))
        {
            message.Subject = "Test";
            message.Body = "Test at " + DateTime.Now;

            using (SmtpClient client = new SmtpClient
            {
                EnableSsl = true,
                Host = "smtp.gmail.com",
                Port = 587,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential("example@gmail.com", "password")
            })
            {
                client.Send(message);
                await Console.Out.WriteLineAsync("HelloJob is executing.");
            }
        }
    }
}

и планировщик выглядит так:

public class JobScheduler
{
    public static void Start()
    {
        IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler().Result;
        scheduler.Start();

        IJobDetail job = JobBuilder.Create<EmailJob>().Build();

        ITrigger trigger = TriggerBuilder.Create()
            .WithDailyTimeIntervalSchedule
              (s =>
                 s.WithIntervalInHours(24)
                .OnEveryDay()
                .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(0, 0))
              )
            .Build();

        scheduler.ScheduleJob(job, trigger);
    }
}

и в Application_start я вызвал планировщик, используя код ниже: JobScheduler.Start();

Теперь, как я могу увидеть результат? я имею в виду, как я могу отправить или получить электронную почту? может ли кто-нибудь помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...