more info on smtp error

On every stage, smtp client save it, and if error occur, this stage info is returned to error handler

I'm using it especially for handling timeouts: it's useful to now that timeout occur when in idle state (so, it's not an error for me), or when sending mail body etc.