2017-03-03 128 views
1

有沒有辦法發送驗證郵件。當用戶通過drf(Django Rest框架)註冊時。我有這樣的代碼在我的User模型:Django Rest Framework發送驗證郵件

from django.core.mail import send_mail 
from config import settings 

      def email_user(self, subject, message, from_email=settings.DEFAULT_FROM_EMAIL, **kwargs): 

      send_mail(subject, message, from_email, [self.email], fail_silently=False, **kwargs) 

,並在我的settings.py

EMAIL_USE_TLS = True 
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' 
EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_HOST_PASSWORD = '`132312123' 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_PORT = 587 
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER 

但郵件沒有發送,我也想覈實電子郵件服務,因此,當他們點擊的用戶將被激活在鏈接上。如何完成這些?

回答

2

如果你看看here

控制檯後端

而是送出真正的電子郵件控制檯後端剛寫 電子郵件將被髮送到標準輸出。默認情況下,控制檯後端將寫入標準輸出。在構建 連接時,您可以通過提供stream關鍵字參數來使用不同的流 - 如 對象。

另外:

這個後端不打算在生產中使用 - 它是作爲 提供了可以在開發過程中使用的便利性。

試試這個來代替:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 
+1

好答案!我還建議查看異步發送的電子郵件後端,以便用戶不必等待電子郵件實際發送(這是一個緩慢的過程)。我一直在使用https://github.com/pinax/django-mailer完美無缺。它使用數據庫,安裝簡單。 – JuanXarg