Ошибка 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")
Вернуться на верх