You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
padelclub_backend/biz/services.py

43 lines
1.3 KiB

# services.py
from django.core.mail import send_mail, get_connection
from django.conf import settings
from django.template.loader import render_to_string
def send_bulk_email(subject, content, prospects):
"""
Send bulk emails to prospects
Returns tuple of (success_count, error_count)
"""
success_count = 0
error_count = 0
# Get email connection
connection = get_connection()
# You might want to wrap this in try/except if you want to handle connection errors
connection.open()
for prospect in prospects:
try:
# You could add basic personalization here
personalized_content = content.replace('{name}', prospect.name)
send_mail(
subject=subject,
message=personalized_content, # Plain text version
html_message=personalized_content, # HTML version
from_email=settings.DEFAULT_FROM_EMAIL,
recipient_list=[prospect.email],
connection=connection,
fail_silently=False,
)
success_count += 1
except Exception as e:
error_count += 1
# You might want to log the error here
print(f"Failed to send email to {prospect.email}: {str(e)}")
connection.close()
return success_count, error_count