7

この質問はおそらく重複した質問であり、申し訳ありません。

に設定しDjango 1.4.1た本番サーバーを使用しています。時々、ユーザーは例外を受け取り、サーバーはテンプレートを表示しますが、のセクションで設定された電子メールを送信しません。DEBUGFalse500.htmlADMINSsettings.py

アプリケーションでは、登録プロセスでウェルカムメールを受信できるため、メール送信は適切に構成されています。

私の断片settings.py

DEBUG = False
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    ('example', 'example@example.com'), # this changed but my email is correct
)

MANAGERS = ADMINS

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
    'django.middleware.transaction.TransactionMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        }
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
    }
}
4

2 に答える 2

10

これは私をしばらくの間怒らせてきました。ちょうどそれを理解しました:

ADMINS = (
    ('Your Name', 'your_email@example.com'),
                                         *****
)

最後のコンマは私が忘れていたすべてであり、それを壊すのに十分でした。私はそれを共有したいと思ったので、私のような他の貧しい馬鹿は、そうでなければ彼が引き抜いたかもしれないいくつかの貴重な髪を自分自身に救うことができます...

于 2013-08-18T00:57:10.637 に答える
9

設定でSERVER_EMAILを設定しましたか。これは、エラーメールの送信に使用される差出人アドレスです。デフォルトはroot@localhostで、SMTPでブロックされる可能性があります。DEFAULT_FROM_EMAILと同じように設定することをお勧めします

于 2012-11-20T17:45:57.260 に答える