From 0c53cdd869613f063b4f647b3f8de194a3417b60 Mon Sep 17 00:00:00 2001 From: Alexandre Pretto Nunes Date: Tue, 2 Dec 2014 10:32:33 -0200 Subject: #135 Use reply-to field instead of from when present --- service/pixelated/adapter/mail.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'service/pixelated') 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 -- cgit v1.2.3