email_tools: passe par mail/mail.py

Pour le debug, et pour passer par un seul endroit.
This commit is contained in:
Daniel STAN 2014-11-07 00:25:58 +01:00
parent 7169e50fd2
commit 113684d0f8
2 changed files with 26 additions and 28 deletions

View file

@ -18,7 +18,6 @@ from locale_util import setlocale
if '/usr/scripts' not in sys.path:
sys.path.append('/usr/scripts')
from gestion.email_tools import format_sender
from gestion import secrets_new as secrets
default_language = 'fr'
@ -157,6 +156,26 @@ def validation_url(view_name, data='', debug=False):
return ROOT + req.text.encode('utf-8')
def format_sender(sender, header_charset='utf-8'):
"""
Check and format sender for header.
"""
from email.Header import Header
from email.Utils import parseaddr, formataddr
# Split real name (which is optional) and email address parts
sender_name, sender_addr = parseaddr(sender)
# We must always pass Unicode strings to Header, otherwise it will
# use RFC 2047 encoding even on plain ASCII strings.
sender_name = str(Header(unicode(sender_name), header_charset))
# Make sure email addresses do not contain non-ASCII characters
sender_addr = sender_addr.encode('ascii')
return formataddr((sender_name, sender_addr))
class ServerConnection(object):
"""Connexion au serveur smtp"""
_conn = None