Hi all, 

I was able to workaround this problem by encoding a unique 'marker' in the 
binary part, then replacing the marker with the actual binary content after 
generating the MIME message. 

See my answer on Stack Overflow http://stackoverflow.com/a/19033750/526098 for 
the code.

Thanks, your suggestions helped me think of this.

Nils

On Wednesday, September 25, 2013 9:38:17 AM UTC-7, Nils Bunger wrote:
> Hi, 
> 
> 
> 
> I'm having trouble encoding a MIME message with a binary file.  Newline 
> characters are being interpreted even though the content is supposed to be 
> binary. This is using Python 3.3.2
> 
> 
> 
> Small test case:
> 
> 
> 
> app = MIMEApplication(b'Q\x0dQ', _encoder=encode_noop)
> 
> b = io.BytesIO()
> 
> g = BytesGenerator(b)
> 
> g.flatten(app)
> 
> for i in b.getvalue()[-3:]:
> 
>     print ("%02x " % i, end="")
> 
> print ()
> 
> 
> 
> This prints 51 0a 51,  meaning the 0x0d character got reinterpreted as a 
> newline. 
> 
> 
> 
> I've tried setting an email policy of HTTP policy, but that goes even 
> further, converting \r to \r\n
> 
> 
> 
> This is for HTTP transport, so binary encoding is normal.
> 
> 
> 
> Any thoughts how I can do this properly?

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to