summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/pixelated_mail.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/adapter/pixelated_mail.py')
-rw-r--r--service/pixelated/adapter/pixelated_mail.py27
1 files changed, 21 insertions, 6 deletions
diff --git a/service/pixelated/adapter/pixelated_mail.py b/service/pixelated/adapter/pixelated_mail.py
index 547927a6..e43d5510 100644
--- a/service/pixelated/adapter/pixelated_mail.py
+++ b/service/pixelated/adapter/pixelated_mail.py
@@ -38,6 +38,12 @@ class PixelatedMail:
mail.tags = mail._extract_tags()
return mail
+ def set_from(self, _from):
+ self.headers['from'] = [_from]
+
+ def get_to(self):
+ return self.headers['to'][0]
+
def _extract_status(self):
return Status.from_flags(self.leap_mail.getFlags())
@@ -80,11 +86,20 @@ class PixelatedMail:
mime_multipart.attach(MIMEText(self.body, 'plain'))
return mime_multipart
+ def to_smtp_format(self, _from=None):
+ mime_multipart = self.to_mime_multipart()
+ mime_multipart['From'] = _from
+ return mime_multipart.as_string()
+
@staticmethod
def from_dict(mail_dict):
- mail = PixelatedMail()
- mail.headers = mail_dict['header']
- mail.body = mail_dict['body']
- mail.ident = mail_dict['ident']
- mail.tags = mail_dict['tags']
- return mail
+ return from_dict(mail_dict)
+
+
+def from_dict(mail_dict):
+ mail = PixelatedMail()
+ mail.headers = mail_dict['header']
+ mail.body = mail_dict['body']
+ mail.ident = mail_dict['ident']
+ mail.tags = mail_dict['tags']
+ return mail