2017-03-03 83 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見れば:代わりに、コンソールのバックエンドを実際の電子メールを送信するのでは

コンソールのバックエンド

を単に標準出力に送信される メールを書き込みます。デフォルトでは、 コンソールバックエンドはstdoutに書き込みます。 オブジェクトと異なるストリームを使用するには、 接続を構築するときにstreamキーワード引数を指定します。また

このバックエンドは、生産に使用するためのものではありません - それは、開発中に使用することができます 便宜のために提供されます。

代わりにこの方法を試してください。

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

良い答えを!私はまた、非同期に送信する電子メールのバックエンドを調べることをお勧めします。そのため、ユーザーは電子メールが実際に送信されるのを待つ必要はありません(遅いプロセスです)。私は完璧にhttps://github.com/pinax/django-mailerを使っています。データベースを使用しており、セットアップが簡単ではありません。 – JuanXarg

関連する問題