Автоматическая электронная почта в установленное время - PullRequest
2 голосов
/ 10 февраля 2010

Задача: Я намеревался написать некоторый код, чтобы рассылать новостную рассылку своим членам в установленное время (ранние часы в пятницу или субботу) Фактическое время не обязательно должно быть точным, но оно должно быть примерно одинаковым каждую неделю.

Я разбил задачу на эти основные области.

  1. Есть что-то, что проверяет время / дату последнего запуска и т. Д.

  2. Затем запускается функция. Это сделает опрос базы данных и получит всех пользователей, которые хотят получать рассылку

  3. Создайте электронную почту и вставьте имена пользователей и адреса электронной почты в почтовое сообщение.

  4. отправить сообщение.

Я написал весь код, чтобы сделать все, кроме бита таймера / планировщика.

В основном мне нужно войти на сайт, когда мне нужно отправить письмо, и нажать кнопку.

Все, что я действительно спрашиваю, это как автоматизировать эффект нажатия на кнопку.

Я много об этом читал, но у меня было много противоречивых взглядов. Некоторые говорят, что использовать таймер Другие говорят, что таймеры жадны до ресурсов и лучше использовать планировщик.

На данный момент лучшие 2 способа сделать автоматический бит следующие:

1) Имейте таймер на службе Windows, которая тогда генерирует электронные письма. (Я построил их в JavaScript, прежде чем делать скрученные изображения в div или делать что-то типа слайд-шоу.)

2) чтобы планировщик вызывал веб-сервис в указанное время.

В принципе, что проще / эффективнее / лучше?

Почтовик будет отправлять ~ 15k + писем, поэтому он будет использовать MSMQ. В идеале я хотел бы, чтобы пользователи получали электронные письма в субботу или в воскресенье утром.

У меня уже есть код c # для генерации электронных писем и их отправки.

Большое спасибо заранее за вашу помощь и вклад.

Дель Греко.

Ответы [ 3 ]

0 голосов
/ 10 февраля 2010

Создание службы Windows - пример здесь:

http://www.codeproject.com/KB/IP/smartmassemail.aspx

0 голосов
/ 10 февраля 2010

Я согласен с Остином проверить Quartz.Net.

Если это не вариант для вас, вы также можете запустить простое запланированное задание. Это довольно просто, если вы работаете в Windows (инструмент «Запланированные задачи»), и я предполагаю, что то же самое для Linux. Вы уже проделали большую часть тяжелой работы. Просто создайте программу на C #, которая отправляет все электронные письма, как у вас уже есть, и запустите планировщик в нужное время. Это не должно быть сложно.

0 голосов
/ 10 февраля 2010

Взгляните на Quartz.Net .

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