6

所以,我在我的项目中使用django-registration来启用我正在构建的应用程序中的用户自我注册。我已将 django-registration 配置为向注册用户发送确认电子邮件。

我的settings.py

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'myUser@myCompany.com'
EMAIL_HOST_PASSWORD = 'apassword'
...
ACCOUNT_ACTIVATION_DAYS = 7

但是,用户填写注册表并点击注册按钮后,页面一直在等待电子邮件发送过程。看起来只有在发送电子邮件后才会收到响应(确认页面)。

我已经阅读了另一个线程,该线程显示了如何在线程中发送电子邮件。有没有办法使用 django-registration 发送电子邮件,使得表单注册提交的响应在发送电子邮件之前不会一直被阻止?我的意思是,我不想修改它django-registration本身。

4

1 回答 1

4

您应该使用Django Mailer来排队发送电子邮件。

或者,您可以使用Celery 和 Django将您的电子邮件排队到 SMTP 服务器或使用Amazon SES

from registration.signals import user_activated, user_registered

user_registered.connect(<Hook your add email to celery task queue> )
于 2012-08-14T17:40:35.750 回答