Celestino Rey 5 месяцев назад
Родитель
Сommit
9847c3ff40
2 измененных файлов с 20 добавлено и 3 удалено
  1. 18 3
      src/reymotausers/admin.py
  2. 2 0
      src/templates/emails/email_prueba.html

+ 18 - 3
src/reymotausers/admin.py

@@ -3,6 +3,9 @@ from django.core.mail import send_mail
 from django.contrib import messages
 
 from django.contrib.auth.admin import UserAdmin
+from django.conf import settings
+from django.core.mail import EmailMultiAlternatives
+from django.template.loader import render_to_string
 
 # Register your models here.
 
@@ -13,13 +16,25 @@ from reymotausers.forms import ReyMotaUserCreationForm, ReyMotaUserChangeForm
 def enviar_email_prueba(modeladmin, request, queryset):
     for user in queryset:
         if user.email:
-            send_mail(
+            texto = f"Hola {user.nombre}, este es un correo de prueba desde el panel de administración."
+            from_email = settings.DEFAULT_FROM_EMAIL
+            to_email = user.email
+
+            html_content = render_to_string(
+                'emails/email_prueba.html', 
+                {'user': user})
+            
+            msg = EmailMultiAlternatives(
                 'Correo de Prueba',
-                'Este es un correo de prueba desde el panel de administración.',
-                'jugaralpadelentreamigos@gmail.com',  # Remitente
+                texto,
+                from_email,
+                [to_email],
                 [user.email],  # Destinatario
                 fail_silently=False,
             )
+            msg.attach_alternative(html_content, "text/html")
+            msg.send()
+
             messages.success(request, f'Se ha enviado un correo de prueba a {user.email}')
         else:
             messages.warning(request, f'El usuario {user.username} no tiene un correo registrado.')

+ 2 - 0
src/templates/emails/email_prueba.html

@@ -0,0 +1,2 @@
+<h1>Email de prueba</h1>
+<p>Hola {{ user.nombre}}, este es un correo de prueba desde el panel de administración."</p>