Laravel отложил запуск электронной почты

Я хотел бы вызвать письмо, отправленное пользователю после регистрации (что не проблема), а затем ровно через неделю после даты регистрации, а затем через месяц после даты регистрации. Так что мне было интересно, как я мог это сделать?

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

Должен ли я использовать App->Console->Kernel.php настроить расписание с when() функция или что-то подобное? Какой будет лучший подход?

0

Решение

Это основано на мнениях и, следовательно, не очень хорошо подходит для формата stackoverflow, но вот как я это сделаю:

Есть флаги на записи пользователя для 1weekemail а также 1monthemail который по умолчанию ложно.

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

Используйте этот набор результатов для отправки электронных писем, а затем установите соответствующие флаги в значение true.

0

Другие решения

Создать scheduler function который проверяет каждого зарегистрированного пользователя в вашей таблице пользователей, он принимает запись пользователя, в которой last activity или же registration time там, проверьте интервал времени и отправьте электронное письмо, если условие интервала времени удовлетворяет, и включите эту функцию schedule как на ежедневной или почасовой основе.

0

По вопросам рекламы [email protected]