New submission from Piers Lauder <[EMAIL PROTECTED]>: smtplib does not initialise the valriable 'sock' in the case where 'host' is NULL on instantiation of smtplib.SMTP.
Eg: % python Python 2.5.2 (r252:60911, Oct 5 2008, 19:29:17) [GCC 4.3.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import smtplib >>> client=smtplib.SMTP('') >>> client.sendmail('[EMAIL PROTECTED]', '[EMAIL PROTECTED]', 'test') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.5/smtplib.py", line 676, in sendmail if not (200 <= self.ehlo()[0] <= 299): File "/usr/lib/python2.5/smtplib.py", line 397, in ehlo self.putcmd("ehlo", name or self.local_hostname) File "/usr/lib/python2.5/smtplib.py", line 333, in putcmd self.send(str) File "/usr/lib/python2.5/smtplib.py", line 318, in send if self.sock: AttributeError: SMTP instance has no attribute 'sock' >>> The fix is to add "self.sock = None" in __init__ if host is not set, and then the behaviour is much more helpful: % python Python 2.5.2 (r252:60911, Oct 5 2008, 19:29:17) [GCC 4.3.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import smtplib >>> client=smtplib.SMTP('') >>> client.sendmail('[EMAIL PROTECTED]', '[EMAIL PROTECTED]', 'test') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.5/smtplib.py", line 678, in sendmail if not (200 <= self.ehlo()[0] <= 299): File "/usr/lib/python2.5/smtplib.py", line 399, in ehlo self.putcmd("ehlo", name or self.local_hostname) File "/usr/lib/python2.5/smtplib.py", line 335, in putcmd self.send(str) File "/usr/lib/python2.5/smtplib.py", line 327, in send raise SMTPServerDisconnected('please run connect() first') smtplib.SMTPServerDisconnected: please run connect() first >>> ---------- components: Library (Lib) files: smtplib-diff-c messages: 75777 nosy: piers severity: normal status: open title: smtplib.py initialisation defect type: behavior versions: Python 2.5.3 Added file: http://bugs.python.org/file11991/smtplib-diff-c _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue4302> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com