python - 在电子邮件错误方面需要帮助
问题描述
我似乎无法通过电子邮件发送我的错误,它已成功记录但未发送任何电子邮件!没有回溯或任何其他错误,只是如果遇到错误代码 500,它会记录它但不会向管理员发送任何电子邮件!
我在互联网上尝试了许多解决方案,但都没有奏效!
这是我的 settings.py 的一部分:
ADMINS = [('Prithvi', '<email1>')]
#Email Settings
MAILER_LIST = ['<email1>']
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = '<email2>' #EDITED
EMAIL_HOST_PASSWORD = '<password>'
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False
EMAIL_USE_LOCALTIME = True
SERVER_EMAIL = '<email2>'
DEFAULT_FROM_EMAIL = '<email2>'
#Logger and Handler settings
# Python logging package
import logging
# Standard instance of a logger with __name__
stdlogger = logging.getLogger(__name__)
# Custom instance logging with explicit name
dbalogger = logging.getLogger('dba')
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
},
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'formatters': {
'simple': {
'format': '[%(asctime)s] %(levelname)s %(message)s',
'datefmt': '%Y-%m-%d %H:%M:%S'
},
'verbose': {
'format': '[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)d] %(message)s',
'datefmt': '%Y-%m-%d %H:%M:%S'
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'development_logfile': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.FileHandler',
'filename': r'C:/Users/Prithvi/Desktop/Prithvi/django/pd1/tmp/django_dev.log',###
'formatter': 'verbose'
},
'production_logfile': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'logging.handlers.RotatingFileHandler',
'filename': r'C:/Users/Prithvi/Desktop/Prithvi/django/pd1/var/log/django/django_production.log',###
'maxBytes' : 1024*1024*100, # 100MB
'backupCount' : 5,
'formatter': 'simple'
},
'dba_logfile': {
'level': 'DEBUG',
'filters': ['require_debug_false','require_debug_true'],
'class': 'logging.handlers.WatchedFileHandler',###
'filename': r'C:/Users/Prithvi/Desktop/Prithvi/django/pd1/var/log/dba/django_dba.log',
'formatter': 'simple'
},
},
'root': {
'level': 'DEBUG',
'handlers': ['console'],
},
'loggers': {
'coffeehouse': {
'handlers': ['development_logfile','production_logfile'],
},
'dba': {
'handlers': ['dba_logfile'],
},
'django': {
'handlers': ['development_logfile','production_logfile'],
},
'py.warnings': {
'handlers': ['development_logfile'],
},
}
}
我只是希望我知道是什么原因造成的,而且官方文档上也没有太多关于这个主题的信息来帮助我!
任何帮助将不胜感激!
解决方案
这部分 settings.py 看起来不错。不久前,我尝试了同样的事情,但意识到 gmail 不允许您如此轻松地发送电子邮件。检查您的 gmail 收件箱,您一定收到了一封电子邮件,上面写着“尝试被阻止”。它标志着您的应用程序“不够安全”。您可以去其他邮件服务提供商,例如 zoho,并使用他们的 smtp 服务器。希望有帮助!
'handlers': {
'mail_admins': {
'level': 'ERROR',
#'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
}
'loggers': {
'django': {
'handlers': ['file', 'console', 'mail_admins',],
'propagate': True,
'level': 'DEBUG',
},
推荐阅读
- python - 如何找到GCD等于1并且这些数字小于python中给出的数字
- c# - 无法从进程访问令牌中读取权限
- html - 如何在 HTML 中使用来自 OpenWeatherMap.org API 的 JSON 代码
- javascript - 如何将地图经度和纬度值传递到 phpMyAdmin 中的数据库?
- excel - 根据查找值查找最大值
- google-cloud-platform - GCP秘密管理器本身返回连接字符串,我怎样才能让它返回我的秘密?
- flutter - Flutter Riverpod/Provider:为 stateNotifier 设置初始状态
- react-native - 使用地图和显示反应原生句柄嵌套对象
- javascript - CORS 和 EXPRESS - [错误] 来源 http://
Access-Control-Allow-Origin 不允许:3000 - python - Apple M1 的 TensorFlow 无法按预期工作。尝试训练我的 Keras 模型时总是出现 PIL 错误