gpt4 book ai didi

python - 来自不同 smtp 服务器的电子邮件 django 服务器错误

转载 作者:行者123 更新时间:2023-12-01 04:26:42 25 4
gpt4 key购买 nike

我的 settings.py 文件中有用于用户通知目的的 SMTP Sendgrid 设置:

EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'my_username'
EMAIL_HOST_PASSWORD = 'my_password'
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'my_from_email'

效果很好,但问题是我想为内置的内部服务器错误通知系统使用不同的 SMTP 服务器,该系统在 DEBUG = False 且 ADMINS 元组不为空时自动启用。

如何实现?

提前致谢

最佳答案

您可以设置不同的 error handler关于设置:

'handlers': {
'null': {
'level': 'DEBUG',
'class': 'logging.NullHandler',
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'mail_admins': {
'level': 'ERROR',
'class': 'myAdminEmailHandler',
'filters': ['special']
}

并覆盖那里的连接:

from django.utils.log import AdminEmailHandler
from django.core.mail import get_connection


class myAdminEmailHandler( AdminEmailHandler ):

def __init__(self, include_html=False, email_backend=None):
AdminEmailHandler.__init__(self,include_html, email_backend)

self.my_host = ''
self.my_port = 587
self.my_username = ''
self.my_password = ''
self.my_use_tls = True
self.connection = get_connection(host=my_host,
port=my_port,
username=my_username,
password=my_password,
use_tls=my_use_tls)

免责声明,未经测试。 @Daniel Backman 的一些功劳:https://stackoverflow.com/a/14398138

关于python - 来自不同 smtp 服务器的电子邮件 django 服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33010213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com