41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
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,
|
||
)
|