我正在开发一个涉及自定义用户注册表单的 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