2013-06-12 14 views
6

私はMandroill for SMTPを使用してHerokuにDjango(v1.4)サイトを持っています。私は私の設定ファイルに必要なすべての値が設定されていますDjango + Heroku + Mandrill mail_admins()は手動でも、500エラーで起動しても動作しません。

  • EMAIL_HOST_PASSWORD
  • EMAIL_HOST_USER
  • EMAIL_HOST
  • EMAIL_PORT
  • SERVER_EMAIL(実アドレスに設定し、ないルート@ localhostの)

クライアントから手動でsend_messages()を使って定期的にメールを送信できます。しかし、500のエラーが発生してもクライアントのmail_adminsを呼び出してもエラーは発生しませんが、電子メールは送信されません。

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'handlers': { 
     'mail_admins': { 
      'level': 'ERROR', 
      'class': 'django.utils.log.AdminEmailHandler' 
     } 
    }, 
    'loggers': { 
     'django.request': { 
      'handlers': ['mail_admins'], 
      'level': 'ERROR', 
      'propagate': True, 
     }, 
    } 
} 

そして、私のADMINS::私は私の迷惑メールフォルダをチェックしましたし、そこには何もありません

ADMINS = (
    ('My Name', '[email protected]'), 
) 

は、ここに私のログの設定です。私は設定で何かを逃していますか?または、他の何か?

+0

エラーログが何を言うん:

だから、settings.pyに次は私の問題固定しますか? – karthikr

答えて

13

あなたのMandrill APIログを確認しましたか?

同じ問題があり、メールがMandrill APIに送信されていることに気付いています(settings.pyでMandrillのsmtp設定を行っているので)ので、from_emailとfrom_nameはAPI呼び出しで空です。

だから、私はを見つけて、それをインストールしようとしています。それが「うまくいくかどうか」を知らせます。

EDIT:djrillをインストールしてドキュメントに続いて、エラーメッセージのAPIコールが失敗しました。何らかの理由でfrom_emailが "root @ localhost"として表示されています。

私は(Djrill送信者を置き換える私のマンドリルのアカウントの承認済みドメインからのメールを含む)githubのページに表示されるシェルのテストを行うと、それが動作します:

from django.core.mail import send_mail 

send_mail("It works!", "This will get sent through Mandrill", 
    "Djrill Sender <[email protected]>", ["[email protected]"]) 

それは私が私のデフォルトを持っていたことが判明"From"メール設定名が混乱しています。それはSERVER_EMAILと呼ばれます。 https://docs.djangoproject.com/en/1.3/ref/settings/#std:setting-SERVER_EMAILを参照してください。

SERVER_EMAIL = [email protected] 
+1

SERVER_MAIL設定は私のために働きます! – azuax

+0

はい、SERVER_MAILの設定が欠落していたのは間違いでした。 – Rias

+0

これはあなたのスタックオーバーフロースコアをロッキングすることになるでしょう。ありがとう。 – MagicLAMP

関連する問題