
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
ponddy-email-notification
Advanced tools
Ponddy email notification package.
Install with pip
pip install ponddy-email-notification
Add this app to INSTALLED_APPS
in settings.py
INSTALLED_APPS = [
...
'email_notifications',
]
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>'
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}}')
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')
FAQs
Ponddy email notification package
We found that ponddy-email-notification demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.