Migrate Apache James Server 2.3 to 3.0

New Configuration

You need to carefully review each configuration file and set the needed parameters according to your needs.

You will find in Apache James 3.0 "more or less" the same parameters than in Apache James 2.3, but you will need to set them in different files. Unfortunately, it is not possible to provide you with a direct mapping between 2.3 and 3.0 configurations.

A fundamental difference in the configuration is about the mails persistence. James 3.0 uses a different storage for user mails that for spam,... mails.

Tool to Migrate Users and Mails

Set in usersrepository23.xml configuration file the type of user repository you were using in James 2.3 (example: org.apache.james.user.file.UsersFileRepository). You also need to set the URL you was using in 2.3 (db, file,..., example: URL="file://var/users/). If you were using file, you need to manually copy the user files to the folder you have specified (example: var/users).

You can now go to JMX console and invoke the 'james23importer' MBean. It needs two parameters : james23MailRepositoryPath (the mail repository you were using in James 2.3), and the defaultPassword(the default password that will be used to create the users).


The migration is only available for the same backend. e.g.: you can't migrate from JPA to Cassandra.

We are also not supporting this migration process. You can try it, but be sure to check that everything is correct.

The migration will be provided and fully supported in next release.

If you can't wait for the next release, we advise you to use external mail migration tools such as imapsync or popsync