Socket
Book a DemoInstallSign in
Socket

ponddy-email-notification

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ponddy-email-notification

Ponddy email notification package

pipPyPI
Version
0.0.6
Maintainers
1

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

Keywords

ponddy

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts