Python 在发送错误电子邮件时需要帮助吗

Python 在发送错误电子邮件时需要帮助吗,python,django,Python,Django,我似乎无法通过电子邮件发送我的错误,它已成功记录,但未发送电子邮件!没有回溯或任何其他错误,只是如果遇到错误代码500,它会记录它,但不会向管理员发送任何电子邮件 我在互联网上尝试了很多解决方案,但都没有成功 以下是my settings.py的一部分: ADMINS = [('Prithvi', '<email1>')] #Email Settings MAILER_LIST = ['<email1>'] EMAIL_BACKEND = 'django.core.

我似乎无法通过电子邮件发送我的错误,它已成功记录,但未发送电子邮件!没有回溯或任何其他错误,只是如果遇到错误代码500,它会记录它,但不会向管理员发送任何电子邮件

我在互联网上尝试了很多解决方案,但都没有成功

以下是my 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'],
        },
    }
}
ADMINS=[('Prithvi','')
#电子邮件设置
邮件列表=['']
EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST='smtp.gmail.com'
电子邮件端口=587
电子邮件_主机_用户=“”#已编辑
电子邮件\u主机\u密码=“”
电子邮件\u使用\u TLS=True
电子邮件\u使用\u SSL=False
EMAIL\u USE\u LOCALTIME=True
服务器\电子邮件=“”
默认的电子邮件地址=“”
#记录器和处理程序设置
#Python日志记录包
导入日志记录
#具有u_名称的记录器的标准实例__
stdlogger=logging.getLogger(\uuuu name\uuuuu)
#使用显式名称的自定义实例日志记录
dbalogger=logging.getLogger('dba')
日志记录={
“版本”:1,
“禁用现有日志记录器”:True,
“过滤器”:{
“要求调试错误”:{
“()”:“django.utils.log.requiredbugfalse”,
},
“要求调试为真”:{
“()”:“django.utils.log.requiredbugtrue”,
},
},
“格式化程序”:{
“简单”:{
'格式':'[%(asctime)s]%(levelname)s%(消息)s',
“datefmt”:“%Y-%m-%d%H:%m:%S”
},
“冗长的”:{
'格式':'[%(astime)s]%(levelname)s[%(name)s.%(funcName)s:%(行号)d]%(消息)s',
“datefmt”:“%Y-%m-%d%H:%m:%S”
},
},
“处理程序”:{
“控制台”:{
“级别”:“调试”,
“过滤器”:[“需要调试”\u true],
'class':'logging.StreamHandler',
“格式化程序”:“简单”
},
“开发日志文件”:{
“级别”:“调试”,
“过滤器”:[“需要调试”\u true],
'class':'logging.FileHandler',
'filename':r'C:/Users/Prithvi/Desktop/Prithvi/django/pd1/tmp/django_dev.log'###
“格式化程序”:“详细”
},
“生产日志文件”:{
“级别”:“错误”,
“过滤器”:[“需要调试\u错误”],
'class':'logging.handlers.RotatingFileHandler',
'filename':r'C:/Users/Prithvi/Desktop/Prithvi/django/pd1/var/log/django/django_production.log'###
“最大字节”:1024*1024*100,#100MB
“备份计数”:5,
“格式化程序”:“简单”
},
“dba_日志文件”:{
“级别”:“调试”,
'过滤器':['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',
“格式化程序”:“简单”
},
},
“根”:{
“级别”:“调试”,
“处理程序”:[“控制台”],
},  
“伐木工人”:{
“咖啡馆”:{
“处理程序”:[“开发日志文件”、“生产日志文件”],
},
“dba”:{
“处理程序”:[“dba_日志文件”],
},
“django”:{
“处理程序”:[“开发日志文件”、“生产日志文件”],
},
“py.警告”:{
“处理程序”:[“开发日志文件”],
},
}
}
我只是希望我知道是什么导致了这一点,而且官方文档中也没有太多关于这一主题的信息来帮助我


任何帮助都将不胜感激

这部分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',
},

这部分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',
},

嗯,我在收件箱里没有收到这样的邮件,这让我怀疑问题出在其他地方。我将尝试使用其他一些smtp服务器,并让您知道它是否工作…编辑:我正在再次检查代码,我意识到我在设置电子邮件\u主机\u用户时出错,并将拼写错误设置为电子邮件\u主机,这已在上面设置,我做了更改,我还尝试使用SendinBlue作为我的smtp服务,但仍然没有运气!编辑:我刚刚尝试使用manage.py shell和send_mail()函数正常发送邮件,它成功了,但没有给我发送任何错误,这怎么可能?你能像上面那样编辑你的settings.py吗?我认为丢失的“mail_admins”是造成问题的原因。你是说在我的settings.py的日志部分?嗯,我的收件箱中没有这样的邮件,这让我怀疑问题出在其他地方。我将尝试使用其他一些smtp服务器,并让您知道它是否工作…编辑:我正在再次检查代码,我意识到我在设置电子邮件\u主机\u用户时出错,并将拼写错误设置为电子邮件\u主机,这已在上面设置,我做了更改,我还尝试使用SendinBlue作为我的smtp服务,但仍然没有运气!编辑:我刚刚尝试使用manage.py shell和send_mail()函数正常发送邮件,它成功了,但没有给我发送任何错误,这怎么可能?你能像上面那样编辑你的settings.py吗?我认为丢失的“mail_admins”是造成问题的原因。你是说在my settings.py的日志部分?