I have encountered a situation when the SMTP
relay has the connection timeout set to 2 minutes,
which sometimes caused a timeout problem with
syncmail because of a long commit message (long as in
long-to-type). This was happening because syncmail
used to make an SMTP connection before any message
is actually prepared, and if it takes the user to type it
long enough, it'll time out. So, the attached patch fixes
the problem by moving the connection establishing
down the code after the message is actually ready.
I also udated the comments on top to explicitly mention
the requirement for Python 2.2.2 rather than 2.2 because
fromataddr appeared only in 2.2.2.