improve mail sending error management

mailing
Laurent 2 months ago
parent 409777f6b6
commit 03f860cf48
  1. 13
      biz/admin.py

@ -361,9 +361,12 @@ class ProspectAdmin(SyncedObjectAdmin):
if form.is_valid():
email_template = form.cleaned_data['email_template']
self.process_selected_items_with_template(request, queryset, email_template)
sent_count, failed_count = self.process_selected_items_with_template(request, queryset, email_template)
self.message_user(request, f"Email sent to {queryset.count()} prospects using the '{email_template.name}' template.", messages.SUCCESS)
if failed_count > 0:
self.message_user(request, f"Email sent to {sent_count} prospects, {failed_count} failed using the '{email_template.name}' template.", messages.WARNING)
else:
self.message_user(request, f"Email sent to {sent_count} prospects using the '{email_template.name}' template.", messages.SUCCESS)
return HttpResponseRedirect(request.get_full_path())
else:
form = EmailTemplateSelectionForm()
@ -398,9 +401,15 @@ class ProspectAdmin(SyncedObjectAdmin):
sent_count += 1
except Exception as e:
error_emails.append(prospect.email)
logger.error(f'Failed to send email to {prospect.email}: {str(e)}')
time.sleep(1)
if error_emails:
logger.error(f'Failed to send emails to: {error_emails}')
return sent_count, len(error_emails)
@admin.register(ProspectGroup)
class ProspectGroupAdmin(SyncedObjectAdmin):
list_display = ('name', 'user_count')

Loading…
Cancel
Save