¿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í,
subject
hace referencia al asunto del correo electrónico.message
se refiere al mensaje de correo electrónico, el cuerpo del correo electrónico.email_from
se 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_list
es 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_mail
es 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