[Update] 邮件设置添加配置项:发送账号 (#2796)

This commit is contained in:
BaiJiangJie
2019-06-14 10:51:18 +08:00
committed by GitHub
parent 5286bf3ac1
commit 7715e62def
7 changed files with 110 additions and 69 deletions

View File

@@ -30,6 +30,7 @@ class MailTestingAPI(APIView):
def post(self, request):
serializer = self.serializer_class(data=request.data)
if serializer.is_valid():
email_from = serializer.validated_data["EMAIL_FROM"]
email_host_user = serializer.validated_data["EMAIL_HOST_USER"]
for k, v in serializer.validated_data.items():
if k.startswith('EMAIL'):
@@ -37,7 +38,8 @@ class MailTestingAPI(APIView):
try:
subject = "Test"
message = "Test smtp setting"
send_mail(subject, message, email_host_user, [email_host_user])
email_from = email_from or email_host_user
send_mail(subject, message, email_from, [email_host_user])
except Exception as e:
return Response({"error": str(e)}, status=401)

View File

@@ -80,7 +80,14 @@ class EmailSettingForm(BaseForm):
)
EMAIL_HOST_PASSWORD = FormEncryptCharField(
max_length=1024, label=_("SMTP password"), widget=forms.PasswordInput,
required=False, help_text=_("Some provider use token except password")
required=False,
help_text=_("Tips: Some provider use token except password")
)
EMAIL_FROM = forms.CharField(
max_length=128, label=_("Send user"), initial='', required=False,
help_text=_(
"Tips: Send mail account, default SMTP account as the send account"
)
)
EMAIL_USE_SSL = forms.BooleanField(
label=_("Use SSL"), initial=False, required=False,

View File

@@ -6,6 +6,7 @@ class MailTestSerializer(serializers.Serializer):
EMAIL_PORT = serializers.IntegerField(default=25)
EMAIL_HOST_USER = serializers.CharField(max_length=1024)
EMAIL_HOST_PASSWORD = serializers.CharField()
EMAIL_FROM = serializers.CharField(required=False, allow_blank=True)
EMAIL_USE_SSL = serializers.BooleanField(default=False)
EMAIL_USE_TLS = serializers.BooleanField(default=False)