Fix email sending
This commit is contained in:
parent
6f4ec418ee
commit
d5d4efd2df
4 changed files with 22 additions and 14 deletions
|
@ -1,5 +1,7 @@
|
|||
from django.conf import settings
|
||||
from django.core.mail import mail_admins
|
||||
from django.core.management import BaseCommand
|
||||
from django.urls import reverse
|
||||
|
||||
from articles.models import Comment
|
||||
|
||||
|
@ -8,9 +10,11 @@ class Command(BaseCommand):
|
|||
help = "Check for pending comments and send an email to the admin."
|
||||
|
||||
def handle(self, *args, **options):
|
||||
count = Comment.objects.filter(status=Comment.PENDING)
|
||||
# url = reverse("admin:articles_comment_list")
|
||||
url = ""
|
||||
count = Comment.objects.filter(status=Comment.PENDING).count()
|
||||
if count:
|
||||
message = f"There are {count} comments pending[0].\n[0]: {url}"
|
||||
url = reverse("admin:articles_comment_changelist")
|
||||
url = (settings.BLOG["base_url"] + url).replace(
|
||||
"//", "/"
|
||||
) + "?status__exact=pending"
|
||||
message = f"There are {count} comments pending review.\n{url}"
|
||||
mail_admins("Comments pending", message)
|
||||
|
|
|
@ -85,8 +85,7 @@ class ArticleDetailView(FormMixin, generic.DetailView):
|
|||
comment.article = self.object
|
||||
comment.save()
|
||||
messages.success(
|
||||
self.request,
|
||||
f'Comment successfully saved, you can check it <a href="#{comment.id}">below</a>.',
|
||||
self.request, "Comment successfully saved, pending review.",
|
||||
)
|
||||
return super().form_valid(form)
|
||||
|
||||
|
|
|
@ -28,16 +28,19 @@ admins = os.getenv("ADMINS", "")
|
|||
if admins:
|
||||
ADMINS = list(map(lambda x: tuple(x.split(",")), admins.split(";")))
|
||||
|
||||
DEFAULT_FROM_EMAIL = "blog@gabnotes.org"
|
||||
SERVER_EMAIL = "blog@gabnotes.org"
|
||||
EMAIL_HOST = os.getenv("EMAIL_HOST", "localhost")
|
||||
EMAIL_HOST_PASSWORD = os.getenv("EMAIL_HOST_PASSWORD", "")
|
||||
EMAIL_HOST_USER = os.getenv("EMAIL_HOST_USER", "")
|
||||
EMAIL_PORT = 465
|
||||
DEFAULT_FROM_EMAIL = "Gab's Notes <blog@mg.gabnotes.org>"
|
||||
SERVER_EMAIL = "Gab's Notes <blog@mg.gabnotes.org>"
|
||||
EMAIL_SUBJECT_PREFIX = "[Blog] "
|
||||
EMAIL_USE_TLS = True
|
||||
EMAIL_TIMEOUT = 30
|
||||
|
||||
ANYMAIL = {
|
||||
"MAILGUN_API_KEY": os.getenv("MAILGUN_API_KEY", ""),
|
||||
"MAILGUN_SENDER_DOMAIN": os.getenv("MAILGUN_SENDER_DOMAIN", ""),
|
||||
"MAILGUN_API_URL": "https://api.eu.mailgun.net/v3",
|
||||
}
|
||||
EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend"
|
||||
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = os.getenv("DEBUG", "true").lower() == "true"
|
||||
TESTING = os.getenv("TESTING", "false").lower() == "true"
|
||||
|
@ -61,6 +64,7 @@ INSTALLED_APPS = [
|
|||
"django.contrib.messages",
|
||||
"django.contrib.staticfiles",
|
||||
"articles",
|
||||
"anymail",
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
|
@ -159,5 +163,5 @@ AUTH_USER_MODEL = "articles.User"
|
|||
|
||||
BLOG = {
|
||||
"description": "My take on tech-related subjects (but not only)",
|
||||
"base_url": "https://gabnotes.org/",
|
||||
"base_url": os.getenv("BLOG_BASE_URL", "https://gabnotes.org/"),
|
||||
}
|
||||
|
|
|
@ -2,3 +2,4 @@ django==3.1
|
|||
markdown==3.2.2
|
||||
gunicorn==20.0.4
|
||||
Pygments==2.6.1
|
||||
django-anymail[mailgun]==7.2.1
|
||||
|
|
Reference in a new issue