The directory structure in ./var is shown hereafter.
mail +-error +-address-error +-relay-denied +-spam store +-maildir +-derby +-jackrabbit +-activemq +-brokers +-james +-blob-transfer +-outgoing +-spool
The $JAMES_ROOT/var folder is the place where James Server writes and reads the files it needs to achieve its functions.
There should be two folders in var:
The mail folder does NOT contain the users mails (look at store folder (or your external database) to find the mailboxes). The mail folder contains the mails rejected during the spooling (depending on mailetcontainer.xml configuration). Sub folders of var/mail can be address-error, error, relay-denied, spam
The store folder contains the files related to database, jcr, activemq,... needed by James. James Server default settings comes with a embedded Derby database that stores the users, domains and mailboxes (the user mails) (see store/derby folder).
Of course, if you changed database.properties and still use a database for the mailboxes, you will have to look for the users, domains and mailboxes in your database, whatever, wherever it is.
You can find in store folder sub-folders such as:
activemq +-brokers +-james +-blob-transfer +-outgoing +-spool
The activemq component is configured to use this folder for queue (and topics if any) processing.
maildir
You can configure James to use MailDir as storage for the user mailboxes. Use var/store/maildir folder to contain the user's mails.
jackrabbit
You can configure James to use JCR (Java Content Repository, based on Apache Jackrabbit) as storage for the user mailboxes. Use var/store/jackrabbit folder to contain the user's mails.