Задержка отправки электронных писем в C#

вы получили margin-bottom: 36px; в вашем классе article.post, article.page в вашем css, пожалуйста, удалите его, и пробел исчезнет

9
задан Carrie Kendall 10 March 2015 в 14:22
поделиться

4 ответа

Одна возможность состоит в том, чтобы создать сервис, который работает на обработке запланированной задачи 'незаконченная' почта. Вы могли бы сохранить незаконченную почту в Базе данных SQL. (Dave детализирует это),

Эта статья выглядит пронедостающей, если требуется избежать 'реального' сервиса

http://www.codeproject.com/KB/aspnet/ASPNETService.aspx

3
ответ дан 4 December 2019 в 13:05
поделиться

Если бы Вы хотите отправить электронную почту серверу SMTP для содержания в течение многих дней, сервер должен был бы поддерживать эту функцию. Я рекомендовал бы против выполнения его тот путь, как бы то ни было. Если бы у Вас была проблема с недостающими электронными письмами, то могло бы быть трудно разыскать.

Вот то, что я сделал бы:

  1. Запланируйте электронные письма в своей системе путем создания записи в таблице.
  2. Включайте столбец "SendDate" в таблицу, где можно назначить дату в будущем
  3. Запишите службу Windows, которая просыпается один раз в 15 минут (например), и посылает электронные письма в той таблице где SendDate <currentDate
9
ответ дан 4 December 2019 в 13:05
поделиться

Нет.

Способ выполнить это состоял бы в том, чтобы Ваше приложение написало электронное письмо очереди (могла быть база данных, файл, MSMQ, и т.д.), и затем запишите отдельный процесс, который, позднее, читает почту из той очереди и отправляет ее.

Насколько я знаю, протокол SMTP не имеет, любой отчасти "задержанный отправляет" функцию. Кроме того, функция, на которую Вы ссылаетесь в Outlook на самом деле просто, сохраняет его в ящике исходящих сообщений Вашего клиента до обозначенной даты, таким образом, это - клиентская функция, не функция серверной стороны.

3
ответ дан 4 December 2019 в 13:05
поделиться

SmtpClient является довольно немым клиентом и не поддерживает, это - отправляет, непосредственны, являются ли они синхронными или асинхронными. Вы можете делать это с помощью интеграции Exchange. Я не уверен, какие API выставляются для Exchange, все же. Самый простой путь состоял бы в том, чтобы сохранить сообщение в таблице базы данных наряду с time-send и иметь офлайновый процесс, который регулярно сканирует эту таблицу и ищет сообщения, значение time-send которых передало и не отмечено, как отправлено.

1
ответ дан 4 December 2019 в 13:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: