diff options
author | Alexandre Pretto Nunes <anunes@thoughtworks.com> | 2014-12-02 10:32:33 -0200 |
---|---|---|
committer | Alexandre Pretto Nunes <anunes@thoughtworks.com> | 2014-12-03 15:53:33 -0200 |
commit | 0c53cdd869613f063b4f647b3f8de194a3417b60 (patch) | |
tree | 7832a65e6e362f24a1d1fedd1f2a1f1cca4befba /service/pixelated | |
parent | f86475751520c8fde47b67bd01b80bb193e9a54a (diff) |
#135 Use reply-to field instead of from when present
Diffstat (limited to 'service/pixelated')
-rw-r--r-- | service/pixelated/adapter/mail.py | 12 |
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 |