web-dev-qa-db-ja.com

Python Django Gmail SMTPセットアップ

DjangoからGmailのsmtpを設定してメールを送信しようとしています。ただし、毎回0ステータスが返されます。stackoverflowで関連するさまざまな回答を検索しましたが、同じようにsmtpサーバーを設定しています方法が、それでもメールを送信していません。以下は私の設定ファイルです

EMAIL_USE_TLS = True
EMAIL_Host = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_Host_USER = 'my gmail account'
EMAIL_Host_PASSWORD = 'my gmail account password'
DEFAULT_FROM_EMAIL = 'my gmail account'
DEFAULT_TO_EMAIL = 'to email'

以下は私のコードです

from Django.conf import settings
from Django.core.mail import send_mail
print "Sending Email"
mail_title = 'Test Email'
message = 'This is a test email.' 
email = settings.DEFAULT_FROM_EMAIL
recipients = [settings.DEFAULT_TO_EMAIL]
print send_mail(mail_title, message, email, recipients, settings.EMAIL_Host_USER, settings.EMAIL_Host_PASSWORD) 
print "Email Sent"

ただし、ステータス0を出力するたびに、メールは送信されません。環境について私は、OSとしてubuntuを、サーバーとしてApacheを使用するAmazon EC2インスタンスでこのコードを実行しています。

Gmail SMTP経由でメールを送信するために追加の設定を行う必要がありますか?よろしくお願いしますよろしくお願いします

20
planet260

gmail.smtpの設定は正しいです。 send_email関数を正しく呼び出していないようです。そのため、送信されません。 pythonシェルで、以下を試してください:

import Django
from Django.conf import settings
from Django.core.mail import send_mail

send_mail('Subject here', 'Here is the message.', settings.EMAIL_Host_USER,
    ['[email protected]'], fail_silently=False)
24
Aaron Lelevier

EMAIL_USE_TLS = TrueをEMAIL_USE_SSL = TrueおよびEMAIL_PORT = 465に変更してみてください

https://docs.djangoproject.com/en/1.10/topics/email/