summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/model/mail.py
diff options
context:
space:
mode:
authorGiovane <giovaneliberato@gmail.com>2015-10-13 16:10:03 -0300
committerGiovane <giovaneliberato@gmail.com>2015-10-13 16:12:37 -0300
commit91e14810895cae861421fddb179b5831fa0c1f3d (patch)
treef9e7f159823e49791302558d068dce59e4295bba /service/pixelated/adapter/model/mail.py
parent09d989a6ed1d3fb1641ec63e5c92e4f212882406 (diff)
Fix send welcome email service method #484 Giovane & Jeff
Diffstat (limited to 'service/pixelated/adapter/model/mail.py')
-rw-r--r--service/pixelated/adapter/model/mail.py21
1 files changed, 12 insertions, 9 deletions
diff --git a/service/pixelated/adapter/model/mail.py b/service/pixelated/adapter/model/mail.py
index 5a0a1b92..eda9ffb9 100644
--- a/service/pixelated/adapter/model/mail.py
+++ b/service/pixelated/adapter/model/mail.py
@@ -206,12 +206,15 @@ class InputMail(Mail):
mime_multipart = MIMEMultipart()
for header in ['To', 'Cc', 'Bcc']:
- if self.headers[header]:
+ if self.headers.get(header):
mime_multipart[header] = ", ".join(self.headers[header])
- if self.headers['Subject']:
+ if self.headers.get('Subject'):
mime_multipart['Subject'] = self.headers['Subject']
+ if self.headers.get('From'):
+ mime_multipart['From'] = self.headers['From']
+
mime_multipart['Date'] = self.headers['Date']
if type(self.body) is list:
for part in self.body:
@@ -253,15 +256,15 @@ class InputMail(Mail):
@staticmethod
def from_python_mail(mail):
input_mail = InputMail()
- input_mail.headers = {key.capitalize(): value for key, value in mail.items()}
- input_mail.headers['Date'] = date.mail_date_now()
- input_mail.headers['Subject'] = mail['Subject']
- input_mail.headers['To'] = InputMail.FROM_EMAIL_ADDRESS
- input_mail._mime = MIMEMultipart()
+ input_mail.headers = {unicode(key.capitalize()): unicode(value) for key, value in mail.items()}
+ input_mail.headers[u'Date'] = unicode(date.mail_date_now())
+ input_mail.headers[u'To'] = [InputMail.FROM_EMAIL_ADDRESS]
+
for payload in mail.get_payload():
- input_mail._mime.attach(payload)
+ input_mail._mime_multipart.attach(payload)
if payload.get_content_type() == 'text/plain':
- input_mail.body = payload.as_string()
+ input_mail.body = unicode(payload.as_string())
+ input_mail._mime = input_mail.to_mime_multipart()
return input_mail