From 2c74727b65e9bd5925b7490918524afb70a4af09 Mon Sep 17 00:00:00 2001 From: Michael Bai Date: Fri, 24 Sep 2021 14:09:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=82=AE=E4=BB=B6?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=BA=8F=E5=88=97=E7=B1=BB=E5=8F=8AAPI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/settings/api/email.py | 18 ++++++++++-------- apps/settings/serializers/email.py | 6 ------ 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/apps/settings/api/email.py b/apps/settings/api/email.py index 91163213a..0d758237b 100644 --- a/apps/settings/api/email.py +++ b/apps/settings/api/email.py @@ -9,6 +9,7 @@ from django.utils.translation import ugettext_lazy as _ from common.permissions import IsSuperUser from common.utils import get_logger from .. import serializers +from django.conf import settings logger = get_logger(__file__) @@ -24,14 +25,15 @@ class MailTestingAPI(APIView): serializer = self.serializer_class(data=request.data) serializer.is_valid(raise_exception=True) - email_host = serializer.validated_data['EMAIL_HOST'] - email_port = serializer.validated_data['EMAIL_PORT'] - email_host_user = serializer.validated_data["EMAIL_HOST_USER"] - email_host_password = serializer.validated_data['EMAIL_HOST_PASSWORD'] - email_from = serializer.validated_data["EMAIL_FROM"] - email_recipient = serializer.validated_data["EMAIL_RECIPIENT"] - email_use_ssl = serializer.validated_data['EMAIL_USE_SSL'] - email_use_tls = serializer.validated_data['EMAIL_USE_TLS'] + # 测试邮件时,邮件服务器信息从配置中获取 + email_host = settings.EMAIL_HOST + email_port = settings.EMAIL_PORT + email_host_user = settings.EMAIL_HOST_USER + email_host_password = settings.EMAIL_HOST_PASSWORD + email_from = serializer.validated_data.get('EMAIL_FROM') + email_use_ssl = settings.EMAIL_USE_SSL + email_use_tls = settings.EMAIL_USE_TLS + email_recipient = serializer.validated_data.get('EMAIL_RECIPIENT') # 设置 settings 的值,会导致动态配置在当前进程失效 # for k, v in serializer.validated_data.items(): diff --git a/apps/settings/serializers/email.py b/apps/settings/serializers/email.py index a20ff080c..3474de52a 100644 --- a/apps/settings/serializers/email.py +++ b/apps/settings/serializers/email.py @@ -8,14 +8,8 @@ __all__ = ['MailTestSerializer', 'EmailSettingSerializer', 'EmailContentSettingS class MailTestSerializer(serializers.Serializer): - EMAIL_HOST = serializers.CharField(max_length=1024, required=True) - EMAIL_PORT = serializers.IntegerField(default=25, min_value=1, max_value=65535) - EMAIL_HOST_USER = serializers.CharField(max_length=1024) - EMAIL_HOST_PASSWORD = serializers.CharField(required=False, allow_blank=True) EMAIL_FROM = serializers.CharField(required=False, allow_blank=True) EMAIL_RECIPIENT = serializers.CharField(required=False, allow_blank=True) - EMAIL_USE_SSL = serializers.BooleanField(default=False) - EMAIL_USE_TLS = serializers.BooleanField(default=False) class EmailSettingSerializer(serializers.Serializer):