The directory structure in ./var is shown hereafter.
mail +-error +-address-error +-relay-denied +-spam store +-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, 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.
For some certain functions, James uses the system temporary folder (/tmp on linux). The system temp can be populated with some temporary files, but James should remove them after a short time.