36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
import os
|
|
from django.core.mail import send_mail
|
|
from django.conf import settings
|
|
from django.template.loader import render_to_string
|
|
from django.utils.html import strip_tags
|
|
|
|
def enviar_correo(subject, to_email, template, context):
|
|
"""
|
|
Envía un correo electrónico utilizando una plantilla HTML.
|
|
|
|
Args:
|
|
subject (str): El asunto del correo.
|
|
to_email (str): Dirección de correo del destinatario.
|
|
template (str): Ruta de la plantilla HTML.
|
|
context (dict): Contexto para renderizar la plantilla.
|
|
"""
|
|
try:
|
|
# Renderizar el contenido del correo desde una plantilla
|
|
html_message = render_to_string(template, context)
|
|
plain_message = strip_tags(html_message)
|
|
from_email = settings.DEFAULT_FROM_EMAIL
|
|
|
|
# Enviar el correo
|
|
send_mail(
|
|
subject,
|
|
plain_message,
|
|
from_email,
|
|
[to_email],
|
|
html_message=html_message,
|
|
fail_silently=False,
|
|
)
|
|
return True
|
|
except Exception as e:
|
|
print(f"Error al enviar el correo: {e}")
|
|
return False
|