first commit
This commit is contained in:
40
blog/tasks.py
Normal file
40
blog/tasks.py
Normal file
@@ -0,0 +1,40 @@
|
||||
from celery import shared_task
|
||||
from django.core.mail import send_mail
|
||||
from django.conf import settings
|
||||
|
||||
@shared_task
|
||||
def send_comment_notification_email(comment_title, comment_body, post_title, user_email):
|
||||
"""
|
||||
Yeni bir yorum yapıldığında admin'e e-posta gönderir.
|
||||
"""
|
||||
subject = f'Yeni Yorum: {post_title}'
|
||||
message = f"""
|
||||
Merhaba Admin,
|
||||
|
||||
"{post_title}" başlıklı yazıya yeni bir yorum yapıldı.
|
||||
|
||||
Yorum Yapan: {user_email}
|
||||
Başlık: {comment_title}
|
||||
Yorum: {comment_body}
|
||||
|
||||
Kontrol etmek için admin paneline giriş yapabilirsiniz.
|
||||
"""
|
||||
|
||||
# Admin e-posta adresini settings'den veya doğrudan buraya yazabilirsiniz
|
||||
# Örnek olarak settings.DEFAULT_FROM_EMAIL kullanıldı, admin listesi de kullanılabilir
|
||||
admin_email = settings.DEFAULT_FROM_EMAIL
|
||||
|
||||
# Eğer settings.ADMINS tanımlıysa oradaki ilk kişiye de atılabilir
|
||||
if hasattr(settings, 'ADMINS') and settings.ADMINS:
|
||||
recipient_list = [email for name, email in settings.ADMINS]
|
||||
else:
|
||||
# Fallback olarak bir email
|
||||
recipient_list = ['admin@example.com']
|
||||
|
||||
send_mail(
|
||||
subject,
|
||||
message,
|
||||
settings.DEFAULT_FROM_EMAIL,
|
||||
recipient_list,
|
||||
fail_silently=False,
|
||||
)
|
||||
Reference in New Issue
Block a user