Hay una aplicación django-mailer de la que no tenía conocimiento hasta ahora, por lo que la respuesta a continuación detalla mi propio enfoque.
El caso más simple no requerirá mucho:
poner esto en su app/management/commands/send_email_alerts.py
, a continuación, configurar una tarea programada para ejecutar este comando una vez a la semana con python manage.py send_email_alerts
(todos los caminos deben establecerse en el entorno del curso para manage.py para recoger a sus configuración de la aplicación)
from django.core.management.base import NoArgsCommand
from django.db import connection
from django.core.mail import EmailMessage
class Command(NoArgsCommand):
def handle_noargs(self,**options):
try:
self.send_email_alerts()
except Exception, e:
print e
finally:
connection.close()
def send_email_alerts(self):
for user in User.objects.all():
text = 'Hi %s, here the news' % user.username
subject = 'some subject'
msg = EmailMessage(subject, text, settings.DEFAULT_FROM_EMAIL, [user.email])
msg.send()
Pero si va a necesitar para realizar un seguimiento de lo que un correo electrónico a cada usuario y con qué frecuencia, se necesitará algo de código adicional. Aquí hay un homegrown example. Quizás es ahí donde django-mailer puede llenar los vacíos.
pertenece al superusuario? – falstro
¿Por qué? Django no es material de nivel de usuario. Esto es código –
Sí, estoy pensando, tal vez se trata de usar el código, en lugar de modificarlo. Sólo preguntaba. – falstro