es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo obtener correo de from_mail en Django?

Estoy enviando correo desde mi sitio Django. Todo está bien y el correo también se envía y se recibe correctamente, pero no desde email (que se coloca en el campo de correo electrónico en el formulario de contacto). El correo se envía desde EMAIL HOST_USER = ‘example@gmail.com’ que coloqué en setting.py.

def contact(request):
    if request.method == 'POST':
        name = request.POST['name']
        email = request.POST['email']
        subject = request.POST['subject']
        phone = request.POST['phone']
        message = request.POST['message']
        try:
            send<em>mail(subject,message,email,['to@gmail.com',],fail</em>silently=False)
            messages.success(request, 'Hemos recibido tu mensaje y responderemos pronto...')
        except:
            messages.error(request, "error")

        return render(request, 'pages/contact.html')

Deseo que el correo se envíe desde el correo electrónico (que el usuario coloca en el campo de correo electrónico).

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para enviar el correo electrónico desde la dirección de correo electrónico que el usuario proporciona en el formulario de contacto en lugar de la dirección EMAIL_HOST_USER definida en settings.py, es necesario cambiar el parámetro “from_email” de la función send_mail() a la variable de correo electrónico proporcionada por el usuario. Aquí está el código modificado:

    def contact(request):
        if request.method == 'POST':
            name = request.POST['name']
            email = request.POST['email']
            subject = request.POST['subject']
            phone = request.POST['phone']
            message = request.POST['message']
            try:
                send_mail(subject, message, email, ['to@gmail.com'], fail_silently=False, from_email=email)
                messages.success(request, 'Hemos recibido su mensaje y responderemos pronto.')
            except:
                messages.error(request, "Error al enviar el mensaje.")
    
        return render(request, 'pages/contact.html')
    

    Al proporcionar la variable de correo electrónico como parámetro from_email, el correo se enviará desde la dirección de correo electrónico del usuario en lugar de la dirección EMAIL_HOST_USER definida en settings.py.

Comments are closed.