This looks like an issue with your mysql_mailbox.cf. Note that your id is @jonathan@xxx.com, consisting of the username at domain. The flurdy howto, however, lists the where field as id. This will result in queries like (this is just an example, I am not sure what query Postfix runs):
Code:
usemaildb;
select * from users where id = '<data to look for>';
If the query doesn't match, you will get an unknown user. In your case, jonathan is not matching
jonathan@xxx.com.
My setup is slightly different than yours.
Code:
| username | password | name | maildir | quota | domain
me@mydomain | hashed password | my name | username@domain/ | 0 | my domain
and my wherefield is the username, which will match the user@domain.
If your problem is LIMITED to just squirrelmail, then I would suggest you look in the squirrelmail configuration and see if there is a setting for this. It has been too long since I set this up and can't remember. It may be that squirrelmail simply relies on your POP/IMAP, so you may need to adjust or look at the select fields in your POP/IMAP configuration.