Configurar el envío de correo electrónico en Django Project

¿No has observado, cuando te registras en algunos sitios web, te llega un correo de esa empresa o institución? El correo electrónico sería, correo electrónico de verificación o correo electrónico de bienvenida, correo electrónico de creación de cuenta exitosa o correo electrónico de agradecimiento, etc. Por ejemplo, cuando crea una cuenta de Google, el primer correo que recibe sería algo como «Hola, Xyz, bienvenido a Google». . Su nueva cuenta viene con acceso a los productos, aplicaciones y servicios de Google…”. Enviar este tipo de correos electrónicos desde su aplicación Django es bastante fácil.
Aunque puede consultar la documentación para obtener más información sobre el envío de correos electrónicos en Django, pero esto está notablemente condensado y facilitado.

Cómo enviar correos electrónicos simples a los usuarios registrados de su aplicación Django

Ilustración de correos electrónicos de Django usando un ejemplo. Considere un proyecto llamado geeksforgeeks que tenga una aplicación llamada geeks. Consulte esto para crear proyectos y aplicaciones de Django. Ahora demostremos esto en el proyecto geeksforgeeks. En el archivo settings.py de su aplicación «geeks» , ingrese lo siguiente,

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = #sender's email-id
EMAIL_HOST_PASSWORD = #password associated with above email-id

En el código anterior, EMAIL_HOST_USER = ‘xabc6457@gmail.com’ y EMAIL_HOST_PASSWORD = ‘xyz123abc@’ son las líneas en las que debe agregar la identificación y la contraseña del correo del remitente. xabc6457@gmail.com y xyz123abc@ son solo ejemplos.

Ahora, para usar esto en nuestra aplicación, muévase a views.py y agregue estas líneas en la sección superior como se muestra a continuación.

from django.conf import settings
from django.core.mail import send_mail

Generalmente, los correos electrónicos se envían a los usuarios que se registran, ¿verdad? Entonces, en la función de vista de registro, agregue estas líneas.

subject = 'welcome to GFG world'
message = f'Hi {user.username}, thank you for registering in geeksforgeeks.'
email_from = settings.EMAIL_HOST_USER
recipient_list = [user.email, ]
send_mail( subject, message, email_from, recipient_list )

Ahora entenderemos qué está pasando exactamente. Aquí,

  • subjecthace referencia al asunto del correo electrónico.
  • messagese refiere al mensaje de correo electrónico, el cuerpo del correo electrónico.
  • email_fromse refiere a los detalles del remitente. Esto toma el EMAIL_HOST_USER del archivo settings.py, donde agregó esas líneas de código anteriormente.
  • recipient_listes la lista de destinatarios a quienes se debe enviar el correo, es decir, quienes se registran en su aplicación reciben el correo electrónico.
  • send_mailes una función incorporada de Django que toma asunto, mensaje, email_from y la lista de destinatarios como argumentos, esto es responsable de enviar correos electrónicos.

Después de agregar estas líneas de código adicionales a su proyecto, puede enviar correos electrónicos ahora. Pero si está utilizando Gmail, la primera vez que realice estos cambios en su proyecto y lo ejecute, es posible que obtenga un error de SMTP .

Para corregir eso:
1-Vaya a la cuenta de Google registrada con la dirección de correo del remitente y seleccione Administrar su cuenta


2-Go to security section at the left nav and scroll down. In Less secure app access, turn on the access. By default, it would be turned off.


Finally run the application.
Now, register any user to your application, and they will receive mail from the email account you had mentioned.

Publicación traducida automáticamente

Artículo escrito por srivallisb y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *