The port that Mailman connects to the upstream SMTP server is already configurable, so I don't think we need to do the probing and caching Ian describes. It looks fairly easy to add a username/password pair for the SMTP connection, and to call .login() if they're set. So I'll add those.
It probably would not be difficult to add keyfile and certfile configuration variables and call SMTP_SSL() when those are given. I'll look at adding that too.