Как отправлять письма с подтверждением и письма по расписанию в Django

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

Немедленное подтверждение по электронной почте: Автоматическая отправка настроенного электронного письма пользователю сразу после отправки формы. Запланированное уведомление по электронной почте: Отправка второго настроенного электронного письма в более поздний срок, который определяется информацией, указанной при создании формы (например, конкретная дата для напоминаний о событиях). Планирование второго электронного сообщения должно быть динамическим, позволяющим устанавливать различные даты в зависимости от контекста формы, например, даты различных событий.

Как я могу достичь этого с помощью Django? Особенно для планирования отправки писем на будущую дату. Обратите внимание, что я ожидаю объем в 1000 отправлений в месяц.

Заранее спасибо за помощь.

Вы можете использовать redis, а затем с помощью задачи celery отправлять электронные письма по своему усмотрению.

как код ниже:

при создании формы.

def create_form():
    # smth happens here
    redis.set('send_email:2024-05-10', 'specific data you want to customize the email with')

для задачи сельдерея

@shared_task
def send_second_email():
    now = datetime.now()
    for key in redis.keys('send_email:*'):
        time = key.split(':')[1]
        if time < now: # you need to parse time
            data = redis.get(key)
            # send second email here
        
Вернуться на верх