
noreply at edgewall
Jun 30, 2005, 11:00 PM
Post #1 of 14
(1349 views)
Permalink
|
|
[The Trac Project] #1744: MIME encoding of notify mail with non-ascii project name
|
|
#1744: MIME encoding of notify mail with non-ascii project name ---------------------+------------------------------------------------------ Id: 1744 | Status: new Component: general | Modified: Thu Jun 30 22:59:56 2005 Severity: normal | Milestone: Priority: normal | Version: devel Owner: jonas | Reporter: Shun-ichi Goto <gotoh [at] taiyo> ---------------------+------------------------------------------------------ On creating notify mail, X-Trac-Project: header and From: header use project name. When I use non-ascii project name, mail message will be sent with raw utf-8 bytes value without MIME encoding. This is not good. First, I've modified like this (but not good): {{{ Index: Notify.py =================================================================== --- Notify.py (revision 1875) +++ Notify.py (working copy) @@ -136,10 +136,10 @@ msg['X-Mailer'] = 'Trac %s, by Edgewall Software' % __version__ msg['X-Trac-Version'] = __version__ projname = self.config.get('project','name') - msg['X-Trac-Project'] = projname + msg['X-Trac-Project'] = Header(projname, 'utf-8') msg['X-URL'] = self.config.get('project','url') msg['Subject'] = Header(self.subject, 'utf-8') - msg['From'] = '%s <%s>' % (projname, self.from_email) + msg['From'] = Header('%s <%s>' % (projname, self.from_email), 'utf-8') msg['Sender'] = self.from_email msg['Reply-To'] = self.replyto_email msg['To'] = rcpt }}} X-Trac-Project: header seems be good. But From: header, which is structured header (in rfc2822 context), is so bad because entire value would be encoded. I don't know right way of using email package to handle structured field like From: field. One easy fix to allow non-ascii project name is changing From: value not to use project name. {{{ Index: Notify.py =================================================================== --- Notify.py (revision 1875) +++ Notify.py (working copy) @@ -136,10 +136,10 @@ msg['X-Mailer'] = 'Trac %s, by Edgewall Software' % __version__ msg['X-Trac-Version'] = __version__ projname = self.config.get('project','name') - msg['X-Trac-Project'] = projname + msg['X-Trac-Project'] = Header(projname, 'utf-8') msg['X-URL'] = self.config.get('project','url') msg['Subject'] = Header(self.subject, 'utf-8') - msg['From'] = '%s <%s>' % (projname, self.from_email) + msg['From'] = 'Trac <%s>' % self.from_email msg['Sender'] = self.from_email msg['Reply-To'] = self.replyto_email msg['To'] = rcpt }}} -- Ticket URL: <http://projects.edgewall.com/trac/ticket/1744> The Trac Project <>
|