2013-10-09 6 views
19

Gmailのsmtpを設定してDjangoからEメールを送信しようとしています。 しかし、毎回私は0ステータスを返しています。以下は Python Django Gmail 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' 

以下 は私の設定ファイルである..私はstackoverflowの中でさまざまな関連の回答を検索しましたし、私は、SMTPサーバーを同じように設定していますが、まだそれはすべての電子メールを送信していない私のコードは

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で電子メールを送信するための追加設定が必要ですか? 多くの方にご協力いただきます ありがとうございます。

+0

、ご自身のワークステーションまたはどこか他の場所よりも上のこのコードの動作を行いますあなたのEC2?これにより、問題の起源を特定することができます –

答えて

24

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)