|
|
|
@ -106,6 +106,21 @@ EMAIL_TEMPLATES = (
|
|
|
|
|
}, |
|
|
|
|
), |
|
|
|
|
|
|
|
|
|
# Yandex |
|
|
|
|
( |
|
|
|
|
'Yandex', |
|
|
|
|
re.compile( |
|
|
|
|
r'^((?P<label>[^+]+)\+)?(?P<id>[^@]+)@' |
|
|
|
|
r'(?P<domain>yandex\.(com|ru|ua|by|kz|uz|tr|fr))$', re.I), |
|
|
|
|
{ |
|
|
|
|
'port': 465, |
|
|
|
|
'smtp_host': 'smtp.yandex.ru', |
|
|
|
|
'secure': True, |
|
|
|
|
'secure_mode': SecureMailMode.SSL, |
|
|
|
|
'login_type': (WebBaseLogin.USERID, ) |
|
|
|
|
}, |
|
|
|
|
), |
|
|
|
|
|
|
|
|
|
# Microsoft Hotmail |
|
|
|
|
( |
|
|
|
|
'Microsoft Hotmail', |
|
|
|
@ -285,7 +300,7 @@ class NotifyEmail(NotifyBase):
|
|
|
|
|
default_secure_mode = SecureMailMode.STARTTLS |
|
|
|
|
|
|
|
|
|
# Default SMTP Timeout (in seconds) |
|
|
|
|
connect_timeout = 15 |
|
|
|
|
socket_connect_timeout = 15 |
|
|
|
|
|
|
|
|
|
# Define object templates |
|
|
|
|
templates = ( |
|
|
|
@ -366,15 +381,9 @@ class NotifyEmail(NotifyBase):
|
|
|
|
|
'default': SecureMailMode.STARTTLS, |
|
|
|
|
'map_to': 'secure_mode', |
|
|
|
|
}, |
|
|
|
|
'timeout': { |
|
|
|
|
'name': _('Server Timeout'), |
|
|
|
|
'type': 'int', |
|
|
|
|
'default': 15, |
|
|
|
|
'min': 5, |
|
|
|
|
}, |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
def __init__(self, timeout=15, smtp_host=None, from_name=None, |
|
|
|
|
def __init__(self, smtp_host=None, from_name=None, |
|
|
|
|
from_addr=None, secure_mode=None, targets=None, cc=None, |
|
|
|
|
bcc=None, **kwargs): |
|
|
|
|
""" |
|
|
|
@ -393,13 +402,6 @@ class NotifyEmail(NotifyBase):
|
|
|
|
|
else: |
|
|
|
|
self.port = self.default_port |
|
|
|
|
|
|
|
|
|
# Email SMTP Server Timeout |
|
|
|
|
try: |
|
|
|
|
self.timeout = int(timeout) |
|
|
|
|
|
|
|
|
|
except (ValueError, TypeError): |
|
|
|
|
self.timeout = self.connect_timeout |
|
|
|
|
|
|
|
|
|
# Acquire Email 'To' |
|
|
|
|
self.targets = list() |
|
|
|
|
|
|
|
|
@ -714,7 +716,7 @@ class NotifyEmail(NotifyBase):
|
|
|
|
|
self.smtp_host, |
|
|
|
|
self.port, |
|
|
|
|
None, |
|
|
|
|
timeout=self.timeout, |
|
|
|
|
timeout=self.socket_connect_timeout, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
if self.secure and self.secure_mode == SecureMailMode.STARTTLS: |
|
|
|
@ -762,7 +764,6 @@ class NotifyEmail(NotifyBase):
|
|
|
|
|
'from': self.from_addr, |
|
|
|
|
'mode': self.secure_mode, |
|
|
|
|
'smtp': self.smtp_host, |
|
|
|
|
'timeout': self.timeout, |
|
|
|
|
'user': self.user, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -864,8 +865,11 @@ class NotifyEmail(NotifyBase):
|
|
|
|
|
results['from_name'] = NotifyEmail.unquote(results['qsd']['name']) |
|
|
|
|
|
|
|
|
|
if 'timeout' in results['qsd'] and len(results['qsd']['timeout']): |
|
|
|
|
# Extract the timeout to associate with smtp server |
|
|
|
|
results['timeout'] = results['qsd']['timeout'] |
|
|
|
|
# Deprecated in favor of cto= flag |
|
|
|
|
NotifyBase.logger.deprecate( |
|
|
|
|
"timeout= argument is deprecated; use cto= instead.") |
|
|
|
|
results['qsd']['cto'] = results['qsd']['timeout'] |
|
|
|
|
del results['qsd']['timeout'] |
|
|
|
|
|
|
|
|
|
# Store SMTP Host if specified |
|
|
|
|
if 'smtp' in results['qsd'] and len(results['qsd']['smtp']): |
|
|
|
|