I think i have fixed it after hours of searching around i found:
http://www.virtualmin.com/node/15570
The problem is that my usernames for the email accounts are in format
user@domain.com which apparently isnt supported by default by sasl, I thought that as i changed this setting in virtualmin that virtualmin would have sorted this out for me, but apparently not.
I had to go to do the following
Go to:
/etc/sysconfig/saslauthd
At the bottom where it says "FLAGS=", change that line to read:
FLAGS=-r
Then, restart saslauthd with:
/etc/init.d/saslauthd restart
At that point, it should allow you to login with user@domain username formats.
This seems to have sorted it all out, if anything is wrong with this please let me know.