1.1 --- a/imiptools/mail.py Mon Jan 26 01:01:34 2015 +0100
1.2 +++ b/imiptools/mail.py Tue Jan 27 01:29:36 2015 +0100
1.3 @@ -66,7 +66,7 @@
1.4 smtp.sendmail(sender or self.sender, recipients, data)
1.5 smtp.quit()
1.6
1.7 - def make_message(self, parts, recipients, sender=None, outgoing_bcc=None):
1.8 + def make_outgoing_message(self, parts, recipients, sender=None, outgoing_bcc=None):
1.9
1.10 """
1.11 Make a message from the given 'parts' for the given 'recipients', using
1.12 @@ -74,10 +74,7 @@
1.13 identity if indicated.
1.14 """
1.15
1.16 - message = MIMEMultipart("mixed", _subparts=parts)
1.17 - message.preamble = self.preamble_text
1.18 - payload = message.get_payload()
1.19 - payload.insert(0, MIMEText(self.body_text))
1.20 + message = self._make_summary_for_parts(parts)
1.21
1.22 message["From"] = sender or self.sender
1.23 for recipient in recipients:
1.24 @@ -88,20 +85,46 @@
1.25
1.26 return message
1.27
1.28 + def make_summary_message(self, msg, parts):
1.29 +
1.30 + """
1.31 + Return a simple summary using details from 'msg' and the given 'parts'.
1.32 + """
1.33 +
1.34 + message = self._make_summary_for_parts(parts)
1.35 + self._copy_headers(message, msg)
1.36 + return message
1.37 +
1.38 def wrap_message(self, msg, parts):
1.39
1.40 "Wrap 'msg' and provide the given 'parts' as the primary content."
1.41
1.42 + message = self._make_container_for_parts(parts)
1.43 + payload = message.get_payload()
1.44 + payload.append(MIMEMessage(msg))
1.45 + self._copy_headers(message, msg)
1.46 + return message
1.47 +
1.48 + def _make_summary_for_parts(self, parts):
1.49 +
1.50 + "Return a simple summary for the given 'parts'."
1.51 +
1.52 + if len(parts) == 1:
1.53 + return parts[0]
1.54 + else:
1.55 + return self._make_container_for_parts(parts)
1.56 +
1.57 + def _make_container_for_parts(self, parts):
1.58 +
1.59 + "Return a container for the given 'parts'."
1.60 +
1.61 message = MIMEMultipart("mixed", _subparts=parts)
1.62 message.preamble = self.preamble_text
1.63 - payload = message.get_payload()
1.64 - payload.insert(0, MIMEText(self.body_text))
1.65 - payload.append(MIMEMessage(msg))
1.66 + return message
1.67
1.68 + def _copy_headers(self, message, msg):
1.69 message["From"] = msg["From"]
1.70 message["To"] = msg["To"]
1.71 message["Subject"] = msg["Subject"]
1.72
1.73 - return message
1.74 -
1.75 # vim: tabstop=4 expandtab shiftwidth=4