문제

Django에서 매일 또는 매주 다이제스트 이메일을 생산할 기존 플러그인이 있습니까? (우리는 많은 작은 알림을 항상 사람들을 괴롭히지 않고 하나의 이메일로 결합하고 싶습니다.)

Django-Mailer는 이것을 뒷받침한다고 주장하지만 실제로는 그렇지 않다고 들었습니다.

도움이 되었습니까?

해결책

거기 있습니다 Django-Mailer 내가 지금까지 알지 못했던 앱이므로 아래의 답은 내 자신의 접근 방식을 자세히 설명합니다.

가장 간단한 경우에는 많은 것이 필요하지 않습니다.

이것을 당신에게 넣으십시오 app/management/commands/send_email_alerts.py, 그런 다음 일주일에 한 번이 명령을 실행하기 위해 Cron 작업을 설정했습니다. python manage.py send_email_alerts (Manage.py가 앱 설정을 선택하려면 모든 경로를 환경에서 설정해야합니다)

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()

그러나 각 사용자에게 이메일을 보내야하는지, 얼마나 자주 사용되는지 추적 해야하는 경우 일부 추가 코드가 필요합니다. 여기에 자란이 있습니다 예시. 어쩌면 그것은 Django-Mailer가 격차를 메울 수있는 곳 일 것입니다.

다른 팁

방금 릴리스되었습니다 장고 소화 PYPI에 패키지. 즉석 알림, 매일 및 주간 소화 및 다양한 업데이트 그룹에 대한 개별 선호도를 지원합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top