#13682: Email attachments not support russian unicode symbols in filename and 
body
------------------------------+---------------------------------------------
 Reporter:  satels            |       Owner:  nobody    
   Status:  new               |   Milestone:            
Component:  django.core.mail  |     Version:  1.2       
 Keywords:  mail, unicode     |       Stage:  Unreviewed
Has_patch:  0                 |  
------------------------------+---------------------------------------------
 {{{
 #encoding:utf8
 from django import test
 from django.core import mail

 def send_mail(subject='', body='', from_email=None, to=None,
               connection=None, bcc=None, attachments=None, headers=None,
               netangels_headers=None, fail_silently=True,
 autosubmitted=False):

     email = mail.EmailMessage(subject=subject,
                          body=body,
                          from_email=from_email,
                          to=to,
                          bcc=bcc,
                          connection=connection,
                          attachments=attachments,
                          headers=headers,
                          netangels_headers=netangels_headers,
                          autosubmitted=autosubmitted)
     # Отправка сообщения
     email.send(fail_silently=fail_silently)

 class MailBaseFunctionalTest(test.TestCase):

     def setUp(self):
         self.subject = u'Это тестовый заголовок'
         self.body = u"""
 Это тестовое тело сообщения"""
         self.from_email = u'Это тестовый отправитель <i...@netangels>'
         self.to = [
             u'Это первый тестовый получатель <[email protected]>'
             '[email protected]'
         ]
         self.bcc = [
             '[email protected]'
         ]
         self.attachments = [
             (u'Это файл 1.rtf', u"Содержание первого файла",
 'text/richtext'),
             (u'Это файл 2.doc', u"Содержание второго файла\n",
 'application/msword')
         ]
         self.autosubmitted = True
         self.headers = {
             'Test-Header-1': "It test header 1"
         }
         self.netangels_headers = {
             'Test-Header-2': "It test header 2"
         }
         self.connection = mail.get_connection(
             backend='django.core.mail.backends.filebased.EmailBackend')
         send_mail(subject=self.subject,
                   body=self.body,
                   from_email=self.from_email,
                   to=self.to,
                   connection=self.connection,
                   bcc=self.bcc,
                   attachments=self.attachments,
                   headers=self.headers,
                   netangels_headers=self.netangels_headers,
                   fail_silently=False,
                   autosubmitted=self.autosubmitted)
 }}}

 -- return error
 ======================================================================
 ERROR: testBaseFunctional
 (netangels.engine.tests.mail.MailBaseFunctionalTest)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/home/ivan/workspace/ivan_panel/netangels/engine/tests/mail.py",
 line 43, in setUp
     autosubmitted=self.autosubmitted)
   File "/home/ivan/workspace/ivan_panel/netangels/engine/mail.py", line
 68, in send_mail
     email.send(fail_silently=fail_silently)
   File "/usr/local/lib/python2.6/dist-
 packages/django/core/mail/message.py", line 175, in send
     return self.get_connection(fail_silently).send_messages([self])
   File "/usr/local/lib/python2.6/dist-
 packages/django/core/mail/backends/console.py", line 26, in send_messages
     self.stream.write('%s\n' % message.message().as_string())
   File "/usr/local/lib/python2.6/dist-
 packages/django/core/mail/message.py", line 144, in message
     msg = self._create_message(msg)
   File "/usr/local/lib/python2.6/dist-
 packages/django/core/mail/message.py", line 199, in _create_message
     return self._create_attachments(msg)
   File "/usr/local/lib/python2.6/dist-
 packages/django/core/mail/message.py", line 212, in _create_attachments
     msg.attach(self._create_attachment(*attachment))
   File "/usr/local/lib/python2.6/dist-
 packages/django/core/mail/message.py", line 239, in _create_attachment
     attachment = self._create_mime_attachment(content, mimetype)
   File "/usr/local/lib/python2.6/dist-
 packages/django/core/mail/message.py", line 227, in
 _create_mime_attachment
     Encoders.encode_base64(attachment)
   File "/usr/lib/python2.6/email/encoders.py", line 45, in encode_base64
     encdata = _bencode(orig)
   File "/usr/lib/python2.6/email/encoders.py", line 32, in _bencode
     value = base64.encodestring(s)
   File "/usr/lib/python2.6/base64.py", line 315, in encodestring
     pieces.append(binascii.b2a_base64(chunk))
 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-9:
 ordinal not in range(128)

 ----------------------------------------------------------------------

-- 
Ticket URL: <http://code.djangoproject.com/ticket/13682>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to