Skip to main content

Ponddy email notification package

Project description

Ponddy Email Notification

Ponddy email notification package.

Installation

Install with pip

pip install ponddy-email-notification

Add this app to INSTALLED_APPS in settings.py

INSTALLED_APPS = [
    ...
    'email_notifications',
]

Usage

Migrate database

python manage.py migrate

Config email in settings.py check this at Django Docs

Setup urls in urls.py

from django.urls import path

from email_notifications.views import UnsubscribeView, UnsubscribeDoneView


urlpatterns = [
    ...
    path(
        'unsubscribe/<uuid:uuid>/',
        UnsubscribeView.as_view(),
        name='unsubscribe',
    ),
    path(
        'unsubscribe/done/',
        UnsubscribeDoneView.as_view(),
        name='unsubscribe_done',
    ),
]

Now you can send email notification with admin!!!

Also we support django template, your can get user with user and unsubscribe link with unsubscribe_link, for example

Subject -> 'Hi, {{ user.username }}
Message -> '............ unsubscribe with: {{ unsubscribe_link }}'
HTML message -> '........... <a href="{{ unsubscribe_link }}">Click here to unsubscribe</a>'

Customization

If you want to custom unsubscribe url name (default is unsubscribe), add UNSUBSCRIBE_URL in settings.py

UNSUBSCRIBE_URL='{{ your unsubscribe url name }}'

If you want to custom unsubscribe done url name (default is unsubscribe_done), config it in .as_view() function

UnsubscribeView.as_view(success_url='{{ your unsubscribe done url name }}')

If you want to custom templates, config it in .as_view() function

UnsubscribeView.as_view(template_name='{{ your template name}}')
UnsubscribeDoneView.as_view(template_name='{{ your template name}}')

Example

If you want to send notification with python script

from django.contrib.auth import get_user_model

from email_notifications.models import Notification
from email_notifications.services import send_notification


User = get_user_model()


notification = Notification.objects.create(
    subject='Hi, {{ user.username }}',
    message='............ unsubscribe with: {{ unsubscribe_link }}',
    html_message='........... <a href="{{ unsubscribe_link }}">Click here to unsubscribe</a>',
)
notification.users.add(User.objects.all())  # We will automatic exclude user, if unsubscribe or no email.
send_notification('http://127.0.0.1:8000', notification)

or in view

from django.contrib.auth import get_user_model
from django.http import HttpResponse

from email_notifications.models import Notification
from email_notifications.services import send_notification


User = get_user_model()


def example_view(request):
    notification = Notification.objects.create(
        subject='Hi, {{ user.username }}',
        message='............ unsubscribe with: {{ unsubscribe_link }}',
        html_message='........... <a href="{{ unsubscribe_link }}">Click here to unsubscribe</a>',
    )
    notification.users.add(User.objects.all())  # We will automatic exclude user, if unsubscribe or no email.
    send_notification(request.build_absolute_uri('/'), notification)
    return HttpResponse('ok')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ponddy-email-notification-0.0.6.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page