Sziasztok. Nem értek a Python-hoz, az ubuntuwoman oldal-t találtam meg még a keresőben, de ők is járnak ide. Szóval felmerült bennem egy kérdés, mely igazából általánosan értendő - leírtam alább a tegnap este megfogalmazott txt-mben - röviden azért nem, mert Debian Wheezy-t (testing) használok, és az apport csomag az experimental része. Nem is lenne értelme oda küldözgetni testing-es üzeneteket, de a kérdés megfogott úgy általában. Hogy megoldható-e, van-e értelme, használ(hat)ja-e más program is "így" a sendmail-t (remélem jóra tippelek) és akkor fellép(het) ez a probléma. Egy képet majd mellékelek, látszik a 3-as és a 3.2-es Python "viszonya", most nincs ilyen, elhanyagolhatóan kevésszer indul el a program.
Tehát a kérdés, amit megfogalmaztam (kicsit hosszú):
Előzmény: megjelent egy dead.letter, 0 bájt méretű bináris fájl a / könyvtárban. Magamévá tettem (chmod, chown), így már szöveges fájl, de tartalma nincs.
Egy hibaüzenet (apport-gtk)
string payload expected:
alapján a találtam - elvi - megoldást.
Az apport-gtk alkalmazással nem szeretnék amúgy foglalkozni (debian experimental csomag az apport és az apport-gtk és én nem azt használom: apt-pinning-elt rendszer), de elméletben felmerült bennem, mi van, ha más alkalmazásnak is ilyen problámaja, van vagy lesz.
A Python verzió 3.2 (is), ez van most használva. (legalábbis az apport ezt használja).
Ezt a módosítást megcsináltam, igaz az ASCII kis betűkkel már ott volt:
"Ok - after much frustration and web-searching, I have found that the problem is a known bug that applies to Python 3.x, encoders.py, function encode_base64, which should read as follows..." (encoders.py)
http://stackoverflow.com/questions/2798470/binary-file-email-attachment-problem
Itt
http://stackoverflow.com/questions/9772431/typeerror-string-payload-expected-class-bytes
javasolnak egy videót, ezt
http://pyvideo.org/video/948/pragmatic-unicode-or-how-do-i-stop-the-pain
Az lenne a kérdésem, hogy pontosan hol és mit kéne módosítani, hogy UTF8 és például a sendmail számára is "elfogadható" kódolású legyen az "üzenet" és mi az elfogadható kódolás? Melyik str-t válasszam? Egyik stackoverflow-os oldalon a latin1-et javasolják.
A következő linken, alább:
"What you need to do is provide the encoding as the second parameter to the set_payload() call, like so:"
http://stackoverflow.com/questions/6591829/python3-send-email-message-containing-binary-data
nem derül ki számomra, melyik fájlban van a módosítás helye.
Ez elég sok anyag,
http://docs.python.org/3/library/smtplib.html#smtplib.SMTP.send_message
nem értek a Python-hoz.
Egyelőre csak pár linket néztem meg innen:
https://www.google.com/search?q=+string+payload+expected%3A+
Késő este ...