如何在Django中发送确认邮件和预定邮件

问题描述 投票:0回答:1

我正在开发一个涉及自定义用户注册表单的 Django 项目。我的目标是在提交表单时实施两步电子邮件通知流程:

立即电子邮件确认:在用户提交表单后立即自动向用户发送定制电子邮件。 预定电子邮件通知:稍后发送第二封自定义电子邮件,该日期由创建表单时提供的信息确定(例如,事件提醒的特定日期)。 第二封电子邮件的安排需要是动态的,允许根据表单的上下文使用不同的日期,例如不同的事件日期。

如何使用 Django 实现这一目标?特别是用于安排在未来某个日期发送的电子邮件。 请注意,我预计每月提交量为 1000 份。

感谢您提前的帮助。

python django forms email
1个回答
0
投票

您可以使用 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
        
© www.soinside.com 2019 - 2024. All rights reserved.