# TODO [ ] recognise starttls required [ ] logging [ ] documentation [ ] error handling [ ] remove unwraps [ ] proper error types [ ] stream error type