|
|
@@ -45,16 +45,19 @@ def template_from_string(template_string, using=None):
|
|
|
|
|
|
class ServizioMail:
|
|
|
def __init__(self,debug=False):
|
|
|
- self._from_ = getConfigurazione('default_mail_from')
|
|
|
+ self._from_ = getConfig('DefaultEmail')
|
|
|
self._to_ = []
|
|
|
self._to = {}
|
|
|
self.debug = debug
|
|
|
self.soggetto = ""
|
|
|
+ self.corpo = ""
|
|
|
self.corpo_testo = ""
|
|
|
self.corpo_html = ""
|
|
|
- self.set_data()
|
|
|
+ self.data = dict()
|
|
|
self.json = None
|
|
|
|
|
|
+ if self.debug: print('attivato flag di debug')
|
|
|
+
|
|
|
def set_mailfrom(self,mail_from):
|
|
|
self._from_ = mail_from
|
|
|
if self.debug: print('mail_from',self._from_)
|
|
|
@@ -82,68 +85,78 @@ class ServizioMail:
|
|
|
|
|
|
def set_soggetto(self,soggetto=""):
|
|
|
self.soggetto = soggetto
|
|
|
+ if self.debug:
|
|
|
+ print("########")
|
|
|
+ print('soggetto:',self.soggetto)
|
|
|
+ print("########")
|
|
|
+
|
|
|
+ def set_corpo(self,corpo="",html=False):
|
|
|
+ self.corpo = corpo
|
|
|
+ if self.debug:
|
|
|
+ print("########")
|
|
|
+ print('corpo:',self.corpo)
|
|
|
+ print('set_corpo html:',html)
|
|
|
+ print("########")
|
|
|
|
|
|
- def set_oggetto(self,oggetto="",html=False):
|
|
|
- self.oggetto = oggetto
|
|
|
- if self.debug: print('set_oggetto html:',html)
|
|
|
self.html = html
|
|
|
|
|
|
def set_data(self,data={}):
|
|
|
self.data = data
|
|
|
|
|
|
if not 'ora_data' in self.data:
|
|
|
- self.data['ora_data'] = datetime.now.strftime('%H:%M %d/%m/%Y')
|
|
|
+ self.data['ora_data'] = datetime.now().strftime('%H:%M %d/%m/%Y')
|
|
|
if not 'ora' in self.data:
|
|
|
- self.data['ora'] = datetime.now.strftime('%H:%m')
|
|
|
+ self.data['ora'] = datetime.now().strftime('%H:%m')
|
|
|
if not 'data' in self.data:
|
|
|
- self.data['data'] = datetime.now.strftime('%d/%m/%Y')
|
|
|
+ self.data['data'] = datetime.now().strftime('%d/%m/%Y')
|
|
|
|
|
|
if self.debug: print('data',self.data)
|
|
|
|
|
|
def set_json(self,data={}):
|
|
|
self.json = json.dumps(data)
|
|
|
if self.debug: print('json:',self.json)
|
|
|
- def send(self):
|
|
|
|
|
|
+ def send(self):
|
|
|
# normalizza i destinatari (uno solo, non ripetuti)
|
|
|
- if self.debug: print('self._to_',self._to_)
|
|
|
+ if self.debug: print('spedisco a:',self._to_)
|
|
|
|
|
|
for i in self._to_:
|
|
|
self._to[i] = i
|
|
|
|
|
|
self._to_complete = [ x for x in self._to.values() ]
|
|
|
- if self.debug: print("destinatari:",self._to_complete)
|
|
|
+ if self.debug: print("destinatari tutti:",self._to_complete)
|
|
|
|
|
|
#rendering del soggetto
|
|
|
soggetto = template_from_string(self.soggetto)
|
|
|
soggetto_render = soggetto.render(self.data)
|
|
|
+ print('soggetto_render:',soggetto_render)
|
|
|
|
|
|
if self.debug: print("soggetto",soggetto)
|
|
|
|
|
|
- oggetto = template_from_string(self.oggetto)
|
|
|
- oggetto_render = None
|
|
|
+ corpo = template_from_string(self.corpo)
|
|
|
+ corpo_render = None
|
|
|
try:
|
|
|
- oggetto_render = oggetto.render(self.data)
|
|
|
+ corpo_render = corpo.render(self.data)
|
|
|
+ print('corpo_render:',corpo_render)
|
|
|
except TemplateSyntaxError as tse:
|
|
|
print('Errore nel Template')
|
|
|
print(tse)
|
|
|
|
|
|
- if oggetto_render:
|
|
|
- if self.debug: print('oggetto render',oggetto_render)
|
|
|
-
|
|
|
- for tt in self._to_complete:
|
|
|
- ttl = [tt,]
|
|
|
- msg = None
|
|
|
- if self.debug: print('richiesta html::',self.html)
|
|
|
- if self.html:
|
|
|
- msg=EmailMultiAlternatives(soggetto_render, oggetto_render, self._from_, ttl)
|
|
|
- msg.attach_alternative(oggetto_render, "text/html")
|
|
|
- else: msg=EmailMultiAlternatives(soggetto_render, oggetto_render, self._from_, ttl)
|
|
|
-
|
|
|
- if self.json:
|
|
|
- msg.attach_alternative(self.json,'text/json')
|
|
|
-
|
|
|
- msg.send()
|
|
|
+ print('quanti sono',len(self._to_complete))
|
|
|
+ for tt in self._to_complete:
|
|
|
+ ttl = [tt,]
|
|
|
+ print('ttl',ttl,)
|
|
|
+ msg = None
|
|
|
+ if self.debug: print('richiesta html::',self.html)
|
|
|
+ if self.html:
|
|
|
+ msg=EmailMultiAlternatives(soggetto_render, corpo_render, self._from_, ttl)
|
|
|
+ msg.attach_alternative(corpo_render, "text/html")
|
|
|
+ else: msg=EmailMultiAlternatives(soggetto_render, corpo_render, self._from_, ttl)
|
|
|
+
|
|
|
+ if self.json:
|
|
|
+ msg.attach_alternative(self.json,'text/json')
|
|
|
+
|
|
|
+ msg.send()
|
|
|
|
|
|
def welcome(request):
|
|
|
'''
|