diff --git a/apps/terminal/notifications.py b/apps/terminal/notifications.py index 0d7203ed2..53eeff392 100644 --- a/apps/terminal/notifications.py +++ b/apps/terminal/notifications.py @@ -6,6 +6,7 @@ from common.utils import get_logger, reverse from notifications.notifications import SystemMessage from terminal.models import Session, Command from notifications.models import SystemMsgSubscription +from notifications.backends import BACKEND logger = get_logger(__name__) @@ -24,14 +25,21 @@ class CommandAlertMixin: @classmethod def post_insert_to_db(cls, subscription: SystemMsgSubscription): """ - 兼容操作,试图用 `settings.SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER` 的邮件地址找到 + 兼容操作,试图用 `settings.SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER` 的邮件地址assets_systemuser_assets找到 用户,把用户设置为默认接收者 """ - emails = settings.SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER.split(',') - emails = [email.strip() for email in emails] + from settings.models import Setting + db_setting = Setting.objects.filter(name='SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER').first() + if db_setting: + emails = db_setting.value + emails = emails or settings.SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER + emails = emails.split(',') + emails = [email.strip().strip('"') for email in emails] users = User.objects.filter(email__in=emails) subscription.users.add(*users) + subscription.receive_backends = [BACKEND.EMAIL] + subscription.save() class CommandAlertMessage(CommandAlertMixin, SystemMessage):