The current implementation (1.4.6 and I think all version before) has a bug in the way the Base64 encoded username/password combination is generated. There needs to a null character before the username as well, and not just as a separator between the username and password.
The fix is to modify line 239 from
credentialsEncoder << username << '\0' << password;
credentialsEncoder << '\0' << username << '\0' << password;
Tested with my postfix server using AUTH PLAIN and the above fix.
Fixed in develop branch:
fixed for 1.4.6p2