mrowe  committed be03344

Wrap notification emails inside a multipart/mixed container. This prevents messages from getting "corrupted" by unintelligent mail handlers that append raw text onto the message, which Python has generally encoded as base64..

  • Participants
  • Parent commits 65c89d2
  • Branches trunk

Comments (0)

Files changed (1)

File trac/

             self.server.login(self.user_name, self.password)
     def send(self, rcpt, mime_headers={}):
+        from email.MIMEMultipart import MIMEMultipart
         from email.MIMEText import MIMEText
         from email.Header import Header
         from email.Utils import formatdate
         body = self.hdf.render(self.template_name)
-        msg = MIMEText(body, 'plain', 'utf-8')
+        msg = MIMEMultipart()
+        msg.attach(MIMEText(body, 'plain', 'utf-8'))
+        msg.epilogue = ''
         msg['X-Mailer'] = 'Trac %s, by Edgewall Software' % __version__
         msg['X-Trac-Version'] =  __version__
         projname = self.config.get('project','name')