OK, I've discovered the lost messages, but I'm still slightly confused as to why they ended up there. The messages were being delivered to the local machine, box1.domain.com, even though I was addressing them to <user>@domain.com.
My past experience with smtp mail has been that if I addressed the domain explicitly, the mail would not stop at the local machine. This is in fact why the 'mail' utility is working. If I use 'mail' to mail something to <user> with no domain, it goes to the local machine, as I would expect, but addressed to <user>@domain.com, it goes to the corporate server. So why does smtplib deliver to box1.domain.com? If the local smtp at box1.domain.com is configured such that this is correct behavior, I guess I'd expect the 'mail' utility to do the same thing when handling address <user>@domain.com. By the way, the long vs. short usernames was a red herring. Those with .forward files were getting their mail. -- http://mail.python.org/mailman/listinfo/python-list