Patch #586999: Fix multiline string in sendmail example.
smptlib did not handle empty addresses.
The problem was that it expected rfc822.parseaddr() to return None
upon a parse failure. The actual, documented return value for a
parse failure is (None, None).
Closes SF bug 602029.
Should be able to handle anything rfc822.parseaddr can handle.
"""
- m=None
+ m = (None, None)
try:
m=rfc822.parseaddr(addr)[1]
except AttributeError:
pass
- if not m:
+ if m == (None, None): # Indicates parse failure or AttributeError
#something weird here.. punt -ddm
- return addr
+ return "<%s>" % addr
else:
return "<%s>" % m
>>> import smtplib
>>> s=smtplib.SMTP("localhost")
>>> tolist=["one@one.org","two@two.org","three@three.org","four@four.org"]
- >>> msg = '''
+ >>> msg = '''\\
... From: Me@my.org
... Subject: testin'...
...