Sorry to have caused all that confusion. The quote from RFC822 I gave is really confusing and is indeed not relevant to the original question. As Tim pointed out, the "to_addrs" parameter in smtplib.py::sendmail is translated to the SMTP RCPT TO and thus must contain all the intended recipients whether they are logically To, CC, Bcc. That parameter cannot be empty, and that is not a restriction in Python, but a restriction of the nature of email: No recipient, no transmission.
It is true that even with RFC 822 it was allowed to have NO To: line, but NOT an empty To: line, while it was allowable to have an empty Bcc: line. This was the quote I gave. -- http://mail.python.org/mailman/listinfo/python-list