Member 14743579 Ответов: 2

Как я могу отправить электронное письмо через 2 дня пользователю после регистрации.


Я попробовал много кода для отправки электронной почты пользователю после 2 дней регистрации, но я не решил эту проблему.

Что я уже пробовал:

Я пытаюсь получить дату регистрации из таблицы, сравнить ее с текущей датой и отправить автоматическое электронное письмо пользователям через 2 дня.
у кого-нибудь есть идея отправить электронное письмо через 2 дня пользователю в c# mvc.

2 Ответов

Рейтинг:
1

Sandeep Mewara

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

Сервис будет периодически проверять вашу базу данных на наличие пользователей и дату их регистрации. Если это займет более 2 дней, он отправит вам электронное письмо.

Для службы windows:
Отправка электронных писем автоматически и периодически с помощью C#[^]
Автоматическая отправка электронных писем ежедневно в определенное время с помощью службы Windows на языке C# и VB.Net[^]

В случае, если вы все еще хотите использовать ASP.NET проект для электронной почты, то вы можете использовать таймер в веб-проекте, работающем на сервере. Взять из очереди:
ASP.NET MVC 5 - уведомление по электронной почте SMTP[^]
Отправка почты в фоновом режиме с помощью ASP.NET документация MVC — Hangfire[^]


Если вы застряли с получением данных из БД, вам нужно будет поделиться SQL-запросом там, где вы не можете получить эти данные.


Рейтинг:
0

OriginalGriff

Решение состоит из двух элементов:
Во-первых, добавьте столбец DATETIME в таблицу пользователей, чтобы сказать "требуется электронная почта", и установите его на текущую дату плюс два дня.

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

Большинство хостинговых служб и операционных систем обеспечивают планирование, где вы можете настроить приложение для запуска каждый день или каждый час - используйте последнее и запускайте свое приложение один раз в час. Он запускается, получает свой список, отправляет им электронное письмо и снова выключается.

Именно то, как вы заставляете его работать, зависит от ваших хостинговых систем: если вы являетесь самостоятельным хостингом, то Windows предоставляет планировщик задач (Linux делает что-то подобное). Если вы находитесь на хостинге, то посмотрите на панель веб-сайта, и это должно быть довольно очевидно.