TypeError: Объект типа SMTPAuthenticationError не является JSON сериализуемым
Ниже приведен мой код для отправки электронной почты через django, но я получаю TypeError: Object of type SMTPAuthenticationError is not JSON serializable error. Кто-нибудь может сказать мне, что я делаю неправильно?
from django.core.mail import send_mail, EmailMultiAlternatives
from django.conf import settings
@api_view(['POST'])
def sendEmail(request, version):
print(request.data)
emailSubject = request.data['emailSubject']
emailMessage = request.data['emailMessage']
emailRecipient = request.data['emailRecipient']
print(settings.EMAIL_FROM)
try:
send_mail(
emailSubject,
emailMessage,
settings.EMAIL_FROM,
[emailRecipient]
)
return Response(
{
"message": "Email sent successfully"
},
status=status.HTTP_200_OK
)
except Exception as ex:
return Response(
{
"message": ex
},
status=status.HTTP_409_CONFLICT
)
Ответ на ошибку:
May 12, 2022 - 16:32:04
Django version 3.1.6, using settings 'bumpdate.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
{'emailSubject': 'Testing Subject', 'emailMessage': 'Testing Message in the email body', 'emailRecipient': 'muzaib.a@origamistudios.us'}
hello@bumpdateapp.com
[12/May/2022 16:32:40] ERROR [django.request:224] Internal Server Error: /api/v2/sendEmail
Traceback (most recent call last):
File "D:\PROJECTS\bumpDate\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "D:\PROJECTS\bumpDate\venv\lib\site-packages\django\core\handlers\base.py", line 204, in _get_response
response = response.render()
File "D:\PROJECTS\bumpDate\venv\lib\site-packages\django\template\response.py", line 105, in render
self.content = self.rendered_content
File "D:\PROJECTS\bumpDate\venv\lib\site-packages\rest_framework\response.py", line 70, in rendered_content
ret = renderer.render(self.data, accepted_media_type, context)
File "D:\PROJECTS\bumpDate\venv\lib\site-packages\rest_framework\renderers.py", line 100, in render
ret = json.dumps(
File "D:\PROJECTS\bumpDate\venv\lib\site-packages\rest_framework\utils\json.py", line 25, in dumps
return json.dumps(*args, **kwargs)
File "C:\Python39\lib\json\__init__.py", line 234, in dumps
return cls(
File "C:\Python39\lib\json\encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "C:\Python39\lib\json\encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "D:\PROJECTS\bumpDate\venv\lib\site-packages\rest_framework\utils\encoders.py", line 67, in default
return super().default(obj)
File "C:\Python39\lib\json\encoder.py", line 179, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type SMTPAuthenticationError is not JSON serializable
[12/May/2022 16:32:40] ERROR [django.server:157] "POST /api/v2/sendEmail HTTP/1.1" 500 116257
Process finished with exit code 0
Выше приведен ответ сервера об ошибке. Я не могу понять, в какой момент я делаю что-то неправильно.