From f566b353f2c4ce1d8c741535dd9767ec4921f3b5 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Sat, 11 Jan 2020 14:11:07 +0100 Subject: [PATCH] Retry more email failures --- src/pretix/base/services/mail.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pretix/base/services/mail.py b/src/pretix/base/services/mail.py index 2ef7e3c31..f2de28b01 100644 --- a/src/pretix/base/services/mail.py +++ b/src/pretix/base/services/mail.py @@ -3,6 +3,7 @@ import logging import os import re import smtplib +import ssl import warnings from email.mime.image import MIMEImage from email.utils import formataddr @@ -365,6 +366,8 @@ def mail_send_task(self, *args, to: List[str], subject: str, body: str, html: st raise SendMailException('Failed to send an email to {}.'.format(to)) except Exception as e: + if isinstance(e, (smtplib.SMTPServerDisconnected, smtplib.SMTPConnectError, ssl.SSLError, OSError)): + self.retry(max_retries=5, countdown=2 ** (self.request.retries * 2)) if order: order.log_action( 'pretix.event.order.email.error',