2017-11-03 24 views
0

私のDjangoのウェブサイトに私は連絡フォームがあります。連絡フォームが提出された場合は、ユーザーと管理者に電子メールを送信する必要があります。 DEBUGがTrueの場合、電子メールが送信されました。しかし、DEBUGがFalseの場合、メールは送信されません。ここで私はDjangoメールを使用しています。DEBUG = FalseのDjangoメール送信エラー

settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 
EMAIL_USE_TLS = True 
EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_PORT = 587 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'abc123' 
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER 
SERVER_EMAIL = EMAIL_HOST_USER 
+0

関連するメール設定を 'settings.py'ファイルから投稿してください。 –

+0

あなたのアカウントで安全性の低いアプリケーションを有効にしましたか? https://myaccount.google.com/lesssecureapps、またはアプリ固有のパスワードを設定しましたか? –

+0

実際に電子メールを送信するコードはどのように見えますか? 'fail_silently = False'属性を追加することもできますか? –

答えて

0

まず、DEBUGがTrueのときに電子メールが送信された、SMTPサーバでメールを送られた場合、またはそれだけで、コンソールで電子メールを印刷しますか? EMAIL_BACKEND設定にSMTPメールバックエンドを使用しているか、開発設定にconsole.backendを使用していますか?通常、開発環境にいるときは、Email_backendをconsole.backendに設定する必要があります。 第2に、プロダクションムードに切り替えると、アプリケーションはメールを送信しません。エラーが発生しましたか?あなたはgoogleのsmtpサーバーの接続をテストしましたか?(詳細はhttps://docs.djangoproject.com/en/1.11/topics/email/#smtp-backendを確認してください)時には、Google smtpサーバーのssl_certfileとssl_keyfileを設定する必要があります。

+0

私の 'settings.py'は上記と同じです。 'DEBUG = True'の場合、' EMAIL_HOST_USER'から与えられた受信者のメールにメールが送られました.'EMAIL_HOST_USER'はGmailアカウントです。しかし 'DEBUG = False'のときはメールを送信しません。 –

関連する問題