Retry more email failures

This commit is contained in:
Raphael Michel
2020-01-11 14:11:07 +01:00
parent c2221fad32
commit f566b353f2

View File

@@ -3,6 +3,7 @@ import logging
import os import os
import re import re
import smtplib import smtplib
import ssl
import warnings import warnings
from email.mime.image import MIMEImage from email.mime.image import MIMEImage
from email.utils import formataddr 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)) raise SendMailException('Failed to send an email to {}.'.format(to))
except Exception as e: 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: if order:
order.log_action( order.log_action(
'pretix.event.order.email.error', 'pretix.event.order.email.error',