smtplib - some bugs in code and documentation too(?!)

Petr Snajdr snajdr@firma.seznam.cz
Thu, 15 Jun 2000 15:11:10 +0200


--Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD
Content-Type: text/plain
Content-Transfer-Encoding: 8bit

Hello,
     I need library for communication with SMTP server last week. I looked
for smtplib from Python distribution, but I think that there are a number of
bugs:

    1. SMTP object work different then you wrote in documentation
        See:http://www.python.org/doc/current/lib/module-smtplib.html
                http://www.python.org/doc/current/lib/SMTP-example.html 
   2. default port is 0 (SMTP() constructor) I think that 25 is better number.
   3.default hostname in constructor is ''. I  think that 'localhost' is better
       choice    
    4. def connect(self, host='localhost', port = 0). You replace
         parameters  from constructor! ( def __init__(self,
         host = '', port = 0)!) Is it  good idea?

Example from Python Library Reference:

[...]

     server = smtplib.SMTP('localhost')
     server.set_debuglevel(1)
     server.connect()
     server.sendmail(fromaddr, toaddrs, msg)
     server.quit()

[...]

It can't work !
  
>     server = smtplib.SMTP('localhost')

OK, you want connect to localhost and port 0?
No. :-(

>     server.set_debuglevel(1)
>     server.connect()

You connect to localhost to port 0. It is not good
idea. ;-)

>     server.sendmail(fromaddr, toaddrs, msg)
>     server.quit()


I have Python 1.5.2 (#21, Aug 31 1999, 17:23:40)  [GCC 2.7.2.3] on linux2
(Debian Linux)

-- 

Best regards
   Petr Snajdr





--Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD
Content-Type: text/english;
  name="smtplib.py.patch"
Content-Transfer-Encoding: base64
Content-Description: My patch of smtplib
Content-Disposition: attachment; filename="smtplib.py.patch"

KioqIHNtdHBsaWIucHkJVGh1IEp1biAxNSAxMzowMDo1MCAyMDAwCi0tLSBzbXRwbGliMi5weQlU
aHUgSnVuIDE1IDE1OjA5OjM3IDIwMDAKKioqKioqKioqKioqKioqCioqKiAxNjgsMTc0ICoqKioK
ICAgICAgZWhsb19yZXNwID0gTm9uZQogICAgICBkb2VzX2VzbXRwID0gMAogIAohICAgICBkZWYg
X19pbml0X18oc2VsZiwgaG9zdCA9ICcnLCBwb3J0ID0gMCk6CiAgICAgICAgICAiIiJJbml0aWFs
aXplIGEgbmV3IGluc3RhbmNlLgogIAogICAgICAgICAgSWYgc3BlY2lmaWVkLCBgaG9zdCcgaXMg
dGhlIG5hbWUgb2YgdGhlIHJlbW90ZSBob3N0IHRvIHdoaWNoIHRvCi0tLSAxNjgsMTc0IC0tLS0K
ICAgICAgZWhsb19yZXNwID0gTm9uZQogICAgICBkb2VzX2VzbXRwID0gMAogIAohICAgICBkZWYg
X19pbml0X18oc2VsZiwgaG9zdCA9ICdsb2NhbGhvc3QnLCBwb3J0ID0gMjUpOgogICAgICAgICAg
IiIiSW5pdGlhbGl6ZSBhIG5ldyBpbnN0YW5jZS4KICAKICAgICAgICAgIElmIHNwZWNpZmllZCwg
YGhvc3QnIGlzIHRoZSBuYW1lIG9mIHRoZSByZW1vdGUgaG9zdCB0byB3aGljaCB0bwoqKioqKioq
KioqKioqKioKKioqIDE3NywxODIgKioqKgotLS0gMTc3LDE4NSAtLS0tCiAgICAgICAgICByYWlz
ZWQgaWYgdGhlIHNwZWNpZmllZCBgaG9zdCcgZG9lc24ndCByZXNwb25kIGNvcnJlY3RseS4KICAK
ICAgICAgICAgICIiIgorICAgICAgICAgc2VsZi5fX2hvc3Q9aG9zdAorICAgICAgICAgc2VsZi5f
X3BvcnQ9cG9ydAorICAgICAgICAgCiAgICAgICAgICBzZWxmLmVzbXRwX2ZlYXR1cmVzID0ge30K
ICAgICAgICAgIGlmIGhvc3Q6CiAgICAgICAgICAgICAgKGNvZGUsIG1zZykgPSBzZWxmLmNvbm5l
Y3QoaG9zdCwgcG9ydCkKKioqKioqKioqKioqKioqCioqKiAxOTIsMTk4ICoqKioKICAgICAgICAg
ICIiIgogICAgICAgICAgc2VsZi5kZWJ1Z2xldmVsID0gZGVidWdsZXZlbAogIAohICAgICBkZWYg
Y29ubmVjdChzZWxmLCBob3N0PSdsb2NhbGhvc3QnLCBwb3J0ID0gMCk6CiAgICAgICAgICAiIiJD
b25uZWN0IHRvIGEgaG9zdCBvbiBhIGdpdmVuIHBvcnQuCiAgCiAgICAgICAgICBJZiB0aGUgaG9z
dG5hbWUgZW5kcyB3aXRoIGEgY29sb24gKGA6JykgZm9sbG93ZWQgYnkgYSBudW1iZXIsIGFuZAot
LS0gMTk1LDIwMSAtLS0tCiAgICAgICAgICAiIiIKICAgICAgICAgIHNlbGYuZGVidWdsZXZlbCA9
IGRlYnVnbGV2ZWwKICAKISAgICAgZGVmIGNvbm5lY3Qoc2VsZiwgaG9zdD1Ob25lLCBwb3J0PU5v
bmUpOgogICAgICAgICAgIiIiQ29ubmVjdCB0byBhIGhvc3Qgb24gYSBnaXZlbiBwb3J0LgogIAog
ICAgICAgICAgSWYgdGhlIGhvc3RuYW1lIGVuZHMgd2l0aCBhIGNvbG9uIChgOicpIGZvbGxvd2Vk
IGJ5IGEgbnVtYmVyLCBhbmQKKioqKioqKioqKioqKioqCioqKiAyMDMsMjA4ICoqKioKLS0tIDIw
NiwyMTYgLS0tLQogICAgICAgICAgc3BlY2lmaWVkIGR1cmluZyBpbnN0YW50aWF0aW9uLgogIAog
ICAgICAgICAgIiIiCisgICAgICAgICBpZiBob3N0PT1Ob25lOgorICAgICAgICAgICAgIGhvc3Q9
c2VsZi5fX2hvc3QKKyAgICAgICAgIGlmIHBvcnQ9PU5vbmU6CisgICAgICAgICAgICAgcG9ydD1z
ZWxmLl9fcG9ydAorICAgICAgICAgICAgIAogICAgICAgICAgaWYgbm90IHBvcnQ6CiAgICAgICAg
ICAgICAgaSA9IHN0cmluZy5maW5kKGhvc3QsICc6JykKICAgICAgICAgICAgICBpZiBpID49IDA6
CioqKioqKioqKioqKioqKgoqKiogMjUxLDI1NyAqKioqCiAgICAgICAgICBpZiBzZWxmLmZpbGUg
aXMgTm9uZToKICAgICAgICAgICAgICBzZWxmLmZpbGUgPSBzZWxmLnNvY2subWFrZWZpbGUoJ3Ji
JykKICAgICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICAgcHJpbnQgIk9LIgogICAgICAgICAg
ICAgIGxpbmUgPSBzZWxmLmZpbGUucmVhZGxpbmUoKQogICAgICAgICAgICAgIHByaW50IGxpbmUg
CiAgICAgICAgICAgICAgaWYgbGluZSA9PSAnJzoKLS0tIDI1OSwyNjQgLS0tLQo=

--Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD--



--267041CF81.961079419/dinsdale.python.org--