This mail never gets delivered. Any ideas why?

Cameron Simpson cs at zip.com.au
Sun May 26 20:22:29 EDT 2013


On 26May2013 13:48, =?utf-8?B?zp3Or866zr/PgiDOk866z4EzM866?= <nikos.gr33k at gmail.com> wrote:
| I'am receiving this now after some tries:
| 
| A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
| 
|  /home/nikos/public_html/cgi-bin/metrites.py in ()
|     139         else:
|     140                 sp = subprocess.Popen(['mail', '-f', FROM, '-s', 'Mail from Guest', 'support at superhost.gr'], stdin=subprocess.PIPE)
| =>  141                 sp.communicate( MESSAGE )
|     142                 status = sp.wait()
|     143                 if status:
| sp = <subprocess.Popen object>, sp.communicate = <bound method Popen.communicate of <subprocess.Popen object>>, MESSAGE = 'kdsjfksdjkfjksdjfs\r\n\t'
|  /opt/python3/lib/python3.3/subprocess.py in communicate(self=<subprocess.Popen object>, input='kdsjfksdjkfjksdjfs\r\n\t', timeout=None)
|     901                 if input:
|     902                     try:
| =>  903                         self.stdin.write(input)

Well, you should probably be writing to sp.stdin, not sys.stdin.

|     904                     except IOError as e:
|     905                         if e.errno != errno.EPIPE and e.errno != errno.EINVAL:
| self = <subprocess.Popen object>, self.stdin = <_io.BufferedWriter name=5>, self.stdin.write = <built-in method write of _io.BufferedWriter object>, input = 'kdsjfksdjkfjksdjfs\r\n\t'
| TypeError: 'str' does not support the buffer interface 
|       args = ("'str' does not support the buffer interface",) 
|       with_traceback = <built-in method with_traceback of TypeError object>

This is symptomatic of sys.stdin (well, whatever you're writing to)
being open in binary mode instead of text mode. And you're passing
a str. Try passing std.encode().

Cheers,
-- 
Cameron Simpson <cs at zip.com.au>

Yes, [congress is] petty and venal and selfish.  That's why they're called
_representatives_.      - Will Durst



More information about the Python-list mailing list