diff --git a/django_aws_ses/backends.py b/django_aws_ses/backends.py
index a96d02a..9c2f915 100644
--- a/django_aws_ses/backends.py
+++ b/django_aws_ses/backends.py
@@ -14,7 +14,6 @@ from . import settings
from . import signals
from . import utils
from .models import BounceRecord
-from saleor.core.utils import email_exclusion_filter
logger = settings.logger
@@ -158,9 +157,6 @@ class SESBackend(BaseEmailBackend):
logger.info("message.recipients() = %s" % message.recipients())
marketing = message.extra_headers.get("marketing","False")
- message.to = email_exclusion_filter(message.to,marketing)
- message.cc = email_exclusion_filter(message.cc,marketing)
- message.bcc = email_exclusion_filter(message.bcc,marketing)
message.to = utils.filter_recipiants(message.to)
message.cc = utils.filter_recipiants(message.cc)
diff --git a/django_aws_ses/models.py b/django_aws_ses/models.py
index 7747349..c3866b4 100644
--- a/django_aws_ses/models.py
+++ b/django_aws_ses/models.py
@@ -9,7 +9,7 @@ from django.dispatch import receiver
from django.contrib.sites.models import Site
from django.contrib.auth import get_user_model # If used custom user model
from django.urls import reverse
-from django.utils.encoding import force_bytes, force_text
+from django.utils.encoding import force_bytes, force_str
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
User = get_user_model()
diff --git a/django_aws_ses/settings.py b/django_aws_ses/settings.py
index 9c0c8b3..e149aa0 100644
--- a/django_aws_ses/settings.py
+++ b/django_aws_ses/settings.py
@@ -53,7 +53,7 @@ HOME_URL = getattr(settings, 'HOME_URL', '')
if not BASE_DIR:
raise RuntimeError('No BASE_DIR defined in project settings, django_aws_ses requires BASE_DIR to be defined and pointed at your root directory. i.e. BASE_DIR = os.path.dirname(os.path.abspath(__file__))')
-UNSUBSCRIBE_TEMPLET = getattr(settings, 'UNSUBSCRIBE_TEMPLET', 'django_aws_ses/unsebscribe.html')
+UNSUBSCRIBE_TEMPLET = getattr(settings, 'UNSUBSCRIBE_TEMPLET', 'django_aws_ses/unsubscribe.html')
BASE_TEMPLET = getattr(settings, 'UNSUBSCRIBE_TEMPLET', 'django_aws_ses/base.html')
AWS_SES_REGION_ENDPOINT_URL = getattr(settings, 'AWS_SES_REGION_ENDPOINT_URL','https://' + AWS_SES_REGION_ENDPOINT)
diff --git a/django_aws_ses/templates/django_aws_ses/unsubscribe.html b/django_aws_ses/templates/django_aws_ses/unsubscribe.html
new file mode 100644
index 0000000..d3efa32
--- /dev/null
+++ b/django_aws_ses/templates/django_aws_ses/unsubscribe.html
@@ -0,0 +1,11 @@
+{% extends base_template_name %}
+
+{% block title1 %}
+Unsubscribe
+{% endblock title1 %}
+
+{% block content %}
+
+
{{ unsubscribe_message }}
+
+{% endblock content %}
\ No newline at end of file
diff --git a/django_aws_ses/urls.py b/django_aws_ses/urls.py
index f2940fc..2296980 100644
--- a/django_aws_ses/urls.py
+++ b/django_aws_ses/urls.py
@@ -1,4 +1,4 @@
-from django.conf.urls import include, url
+from django.urls import include, path
from django.views.decorators.csrf import csrf_exempt
from .views import (
@@ -10,7 +10,7 @@ from .views import (
app_name = "django_aws_ses"
urlpatterns = [
- url(r'^status/$', dashboard, name='aws_ses_status'),
- url(r'^bounce/$', csrf_exempt(handle_bounce),name='aws_ses_bounce'),
- url(r'^unsubscribe/(?P[0-9a-zA-Z]+)/(?P[0-9a-zA-Z]+)/$', HandleUnsubscribe.as_view(), name='aws_ses_unsubscribe')
+ path('status/', dashboard, name='aws_ses_status'),
+ path('bounce/', csrf_exempt(handle_bounce),name='aws_ses_bounce'),
+ path('unsubscribe///', HandleUnsubscribe.as_view(), name='aws_ses_unsubscribe')
]
diff --git a/django_aws_ses/utils.py b/django_aws_ses/utils.py
index 41fe518..758b041 100644
--- a/django_aws_ses/utils.py
+++ b/django_aws_ses/utils.py
@@ -111,7 +111,7 @@ class BounceMessageVerifier(object):
)
try:
- import M2Crypto
+ from M2Crypto import X509
except ImportError:
raise ImproperlyConfigured(
"`M2Crypto` is required for bounce message verification. "
@@ -132,8 +132,8 @@ class BounceMessageVerifier(object):
# If the certificate is invalid then return
# false as we couldn't verify the message.
try:
- self._certificate = M2Crypto.X509.load_cert_string(response.content)
- except M2Crypto.X509.X509Error as e:
+ self._certificate = X509.load_cert_string(response.content)
+ except X509.X509Error as e:
logger.warning(u'Could not load certificate from %s: "%s"', cert_url, e)
self._certificate = None
diff --git a/django_aws_ses/views.py b/django_aws_ses/views.py
index dd598e9..55b7834 100644
--- a/django_aws_ses/views.py
+++ b/django_aws_ses/views.py
@@ -20,7 +20,7 @@ from django.core.exceptions import PermissionDenied
from django.shortcuts import render, redirect
from django.contrib.auth import get_user_model
from django.views.generic.base import TemplateView
-from django.utils.encoding import force_bytes, force_text
+from django.utils.encoding import force_bytes, force_str
from . import settings
from . import signals
@@ -432,7 +432,7 @@ class HandleUnsubscribe(TemplateView):
logger.info("in get ----- self.base_template_name: %s" % self.base_template_name)
try:
- uuid = force_text(urlsafe_base64_decode(uuid).decode())
+ uuid = force_str(urlsafe_base64_decode(uuid).decode())
logger.info('uuid: %s' % uuid)
user = User.objects.get(pk=uuid)
logger.info('user.pk: %s' % user.pk)