Почта не отправляется в django help no se envia mail en django
Я пытаюсь получить электронное письмо с моей страницы, которую я сделал в django, но оно не отправляется, я сделал, если оно было отправлено, сообщите мне, что оно было отправлено правильно, и если оно не было отправлено, оно перенаправит меня на ту же страницу. Проблема в том, что оно никогда не отправляется правильно, как будто что-то было неправильно, когда я кодировал представление или что-то вроде этого. проблема в том, что оно никогда не отправляется. POST никогда не отправляется.
Views.py
from django.shortcuts import render , redirect
from .forms import FormularioContacto
from django.core.mail import EmailMessage
# Create your views here.
def contacto(request):
formulario_contacto=FormularioContacto()
if request.method == "POST":
formulario_contacto=FormularioContacto(data=request.POST)
if formulario_contacto.is_valid():
nombre= request.POST.get("nombre")
email= request.POST.get("email")
numero= request.POST.get("numero")
contenido= request.POST.get("contenido")
email=EmailMessage("mensaje desde app django",
"el usuario con el nombre: {} con la direccion: {} y el numero: {} te escribe: \n\n {}".format(nombre, email, numero, contenido),
"", ["faustofernandezes@gmail.com"], reply_to=[email])
try:
email.send()
return redirect("/contacto/?valido")
except:
return redirect("/contacto/?novalido")
return render(request, "contacto/contacto.html" , {'miFormulario' : formulario_contacto})
настройки:
STATIC_URL = '/static/'
MEDIA_URL='/media/'
MEDIA_ROOT=BASE_DIR / 'media'
# Default primary key field type
# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
#config de mail
EMAIL_BACKEND="django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST="smtp.gmail.com"
EMAIL_USE_TSL=True
EMAIL_PORT=587
EMAIL_HOST_USER="faustofernandezes@gmail.com"
EMAIL_HOST_PASSWORD="Here I put my 2-step verification application password"
html:
{% extends "ProyectoApp/base.html" %}
{% load static %}
{% block content %}
<div class="contenedorFormulario">
{% if "valido" in request.GET %}
<p style="color: white;">informacion enviada correctamente!! <br> Gracias por contactar!! </p>
{% endif %}
<form action="" method="POST" style="text-align: center;" > {% csrf_token %}
<table style="color: white; margin: 20px auto;" >{{miFormulario.as_table}}</table>
<input type="submit" value="Enviar" style="width: 150px;">
</form>
</div>
{% endblock %}
Формы:
from django import forms
class FormularioContacto(forms.Form):
nombre=forms.CharField(label="Nombre", required=True, max_length=150)
email=forms.CharField(label="Email", max_length=50 , required=True)
contenido=forms.CharField(label="Contenido", widget=forms.Textarea )
Также попробовал написать все заново с send_mail, импортируя из django.core.mail import send_mail. но и это не помогло, я не знаю, в чем проблема в этом коде, я надеюсь, что кто-нибудь сможет мне помочь, так как я делаю курс и мне очень трудно продолжать в том же духе. Буду очень благодарен. Спасибо за внимание.