summaryrefslogtreecommitdiff
path: root/service/pixelated
diff options
context:
space:
mode:
authorAlexandre Pretto Nunes <anunes@thoughtworks.com>2014-12-02 10:32:33 -0200
committerAlexandre Pretto Nunes <anunes@thoughtworks.com>2014-12-03 15:53:33 -0200
commit0c53cdd869613f063b4f647b3f8de194a3417b60 (patch)
tree7832a65e6e362f24a1d1fedd1f2a1f1cca4befba /service/pixelated
parentf86475751520c8fde47b67bd01b80bb193e9a54a (diff)
#135 Use reply-to field instead of from when present
Diffstat (limited to 'service/pixelated')
-rw-r--r--service/pixelated/adapter/mail.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/service/pixelated/adapter/mail.py b/service/pixelated/adapter/mail.py
index a5f0d5d2..3003f9eb 100644
--- a/service/pixelated/adapter/mail.py
+++ b/service/pixelated/adapter/mail.py
@@ -230,11 +230,17 @@ class PixelatedMail(Mail):
for header in ['From', 'Subject']:
_headers[header] = hdoc_headers.get(header)
+
_headers['Date'] = self._get_date()
+
if self.parts and len(self.parts['alternatives']) > 1:
_headers['content_type'] = 'multipart/alternative; boundary="%s"' % self.boundary
elif self.hdoc.content['headers'].get('Content-Type'):
_headers['content_type'] = hdoc_headers.get('Content-Type')
+
+ if hdoc_headers.get('Reply-To'):
+ _headers['Reply-To'] = hdoc_headers.get('Reply-To')
+
return _headers
def _get_date(self):
@@ -326,11 +332,13 @@ class PixelatedMail(Mail):
dict_mail = super(PixelatedMail, self).as_dict()
dict_mail['replying'] = {'single': None, 'all': {'to-field': [], 'cc-field': []}}
+ sender_mail = self.headers.get('Reply-To', self.headers['From'])
+
recipients = [recipient for recipient in self.headers['To'] if recipient != InputMail.FROM_EMAIL_ADDRESS]
- recipients.append(self.headers['From'])
+ recipients.append(sender_mail)
ccs = [cc for cc in self.headers['Cc'] if cc != InputMail.FROM_EMAIL_ADDRESS]
- dict_mail['replying']['single'] = self.headers['From']
+ dict_mail['replying']['single'] = sender_mail
dict_mail['replying']['all']['to-field'] = recipients
dict_mail['replying']['all']['cc-field'] = ccs
return dict_mail