Encoding trouble when script called from application

Peter Otten __peter__ at web.de
Tue Jan 14 12:43:57 EST 2014


Florian Lindner wrote:

> Hello!
> 
> I'm using python 3.2.3 on debian wheezy. My script is called from my mail
> delivery agent (MDA) maildrop (like procmail) through it's xfilter
> directive.
> 
> Script works fine when used interactively, e.g. ./script.py < testmail but
> when called from maildrop it's producing an infamous UnicodeDecodeError:
> 
> File "/home/flindner/flofify.py", line 171, in main
>      mail = sys.stdin.read()
> File "/usr/lib/python3.2/encodings/ascii.py", line 26, in decode
>      return codecs.ascii_decode(input, self.errors)[0]
> 
> Exception for example is always like
> 
> UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 869:
> ordinal not in range(128) UnicodeDecodeError: 'ascii' codec can't decode
> byte 0xc3 in position 1176: ordinal not in range(128) UnicodeDecodeError:
> 'ascii' codec can't decode byte 0x8c in position 846: ordinal not in
> range(128)
> 
> I read mail from stdin "mail = sys.stdin.read()"
> 
> Environment when called is:
> 
> locale.getpreferredencoding(): ANSI_X3.4-1968
> environ["LANG"]: C
> 
> System environment when using shell is:
> 
> ~ % echo $LANG
> en_US.UTF-8
> 
> As far as I know when reading from stdin I don't need an decode(...) call,
> since stdin has a decoding. I also tried some decoding/encoding stuff but
> changed nothing.
> 
> Any ideas to help me?

I known nothing about maildrop, but found

> add "import LANG" to .maildropfilter.

in this thread:

<http://courier-mail-server.10983.n7.nabble.com/Maildrop-behaviour-change-
td18610.html>




More information about the Python-list mailing list