Ошибка CSFR при попытке использовать функцию django send_email
Я пытаюсь отправить письмо из Django, запущенного на ресурсе AWSAppRunner. Я знаю, что ошибка связана с электронной почтой, так как я тестировал ее с ней и без нее. Он работает, когда я комментирую функцию send_email, и не работает, когда я не комментирую эту функцию. Я получаю ошибку CSFR Error
" Запрещено (403) Проверка CSRF не удалась. Запрос прерван. Справка Причина отказа: Проверка происхождения не удалась - null не соответствует ни одному доверенному происхождению. "
Я знаю, что дело в функции send_email Django, я протестировал ее на своей локальной машине 127.0.0.1:8000, и письма отправляются правильно. Какие группы безопасности я должен включить? Есть ли у кого-нибудь идеи о том, что происходит? Я перепробовал множество решений, но ни одно из них не работает. Я начинаю думать, что у меня плохая конфигурация сети. Пожалуйста, помогите.
Я попробовал добавить CSRF_TRUSTED_ORIGINS, CORS_ORIGIN_WHITELIST, CORS_ALLOWED_ORIGINS и проверил промежуточное ПО, необходимое для этих переменных.
Вот мой код представления:'
def nuevaorden_view(request):
if request.method == "POST":
try:
nombre = request.POST.get("nombre")
email = request.POST.get("email")
telefono = request.POST.get("telefono")
TipoDeServicio = request.POST.get("TipoDeServicio")
ServiciosCombinados = request.POST.getlist("ServiciosCombinados")
FrecuenciaDeServicio = request.POST.get("FrecuenciaDeServicio")
Description = request.POST.get("Description")
CiudadOrigen = request.POST.get("CiudadOrigen")
PaisOrigen = request.POST.get("PaisOrigen")
CodigoPostalOrigen = request.POST.get("CodigoPostalOrigen")
CiudadDestino = request.POST.get("CiudadDestino")
PaisDestino = request.POST.get("PaisDestino")
CodigoPostalDestino = request.POST.get("CodigoPostalDestino")
Status = 'Orden Abierta'
Carrier = 'CorreKaminos'
orden = NuevaOrden(
nombre=nombre,
email=email,
telefono=telefono,
TipoDeServicio=TipoDeServicio,
ServiciosCombinados=ServiciosCombinados,
FrecuenciaDeServicio=FrecuenciaDeServicio,
Description=Description,
CiudadOrigen=CiudadOrigen,
PaisOrigen=PaisOrigen,
CodigoPostalOrigen=CodigoPostalOrigen,
CiudadDestino=CiudadDestino,
PaisDestino=PaisDestino,
CodigoPostalDestino=CodigoPostalDestino,
Status=Status,
Carrier=Carrier
)
try:
orden.save()
except Exception as e:
print(e)
# Save the instance to the database
try:
mail_subject = "Nueva orden"
message = ('Una nueva orden ha sido creada.')
from_email = "IvanGonzalez@correkaminos.com" # Use your info email address
to_email = ['carlosugartechea@correkaminos.com'] # Use the customer's email address
send_mail(mail_subject, message, from_email, to_email, fail_silently=False)
messages.success(request, "La orden se ha creado correctamente.")
return render(request, "ordenes/ordenregistrada.html")
except Exception as e:
# Handle other exceptions (e.g., email sending failure)
print(e)
return render(request, "ordenes/nuevaorden.html")
except Exception as e:
print(e)
return render(request, "ordenes/nuevaorden.html")
else:
return render(request, "ordenes/nuevaorden.html")