0
Djangoアプリケーションで例外が発生したときに管理者に通知する自動メールシステムをセットアップしたいと思います。今のところ、 は電子メール通知システムをテストしたいと思っていて、数多くのチュートリアルとヒントhereとhereとhereとhereといくつかの他のサイトに加えて、エラー処理のためのDjango電子メールのテスト
私はPython 3.5とDjango 1.8を使って、ローカルのDjango開発環境(実稼働環境ではない)を使用しています。私は問題がある(何もプロキシ関与など)
settings.py
ADMINS = (
('My Name', '[email protected]'),
)
#EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
MAILER_LIST = ['[email protected]']
EMAIL_HOST = 'smtp.live.com'
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'myhotmail_password'
EMAIL_PORT = 465
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = '[email protected]'
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
},
'handlers': {
'default': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': SITE_ROOT + "/logfile.log",
'maxBytes': 1024*1024*5, #5 MB
'backupCount': 5,
'formatter': 'standard',
},
'request_handler':{
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': SITE_ROOT + "/django_request.log",
'maxBytes': 1024*1024*5, #5 MB
'backupCount': 2,
'formatter': 'standard'
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
}
},
'loggers': {
'': {
'handlers':['mail_admins', 'default'],
'level':'DEBUG',
'propagate': True,
},
'django.request': {
'handlers': ['request_handler'],
'level': 'DEBUG',
'propagate': False,
},
'django': {
'handlers': ['request_handler', 'default', 'mail_admins',],
'propagate': True,
'level': 'DEBUG',
},
}
}
view.py
from django.core.mail import send_mail
from django.core.mail import EmailMessage
def search(request):
'''
other bits of code
'''
send_mail("Subject goes here", "Text goes here", '[email protected]', ['[email protected]'], fail_silently=True)
#msg = EmailMessage("Subject goes here", "Text goes here", '[email protected]', ['[email protected]'])
#msg.send()
#return HttpResponse('%s'%res)
からの抜粋私のホームネットワーク上で午前:[Errno 60] Operation timed out
。私が何をよく知っていない何らかの理由で、電子メールは送信されません。どこが間違っていますか?
ジャンゴでの電子メールの多くの問題がありますメールプロバイダはメールを受け付けません。この場合、マイクロソフトは、あなたが制御しない電子メールアドレスである「noreply @ hotmail.com」からの電子メールを受け付けない可能性があります。 – Alasdair
@ Alasdair:ありがとうございましたが、これを変更しても何も解決されませんでした。代わりに、まったく同じエラーメッセージが表示されます。 – pymat
あなたのホットメールを使用するための他の提案はありません。そのSMTPサーバを動作させることができない場合は、mailgunのようなプロバイダで['django-anymail'](https://github.com/anymail/django-anymail)を使うこともできます。これらのプロバイダの多くは、個人的な使用に十分な無料のプランを持っています。 – Alasdair