Short Demo
In this short demo (~5 minutes), we will set up a running James demo very quickly using a prepared Docker image. Then you will add a domain, and a user account within that domain.
Requirements:
-
Docker
Set up the demo server
To begin, run the James demo server using Docker:
docker run -d -p "25:25" -p "143:143" --name james apache/james:demo-latest
Explanation:
-
docker run
runs the provided image with the given parameters -
The
-d
parameter runs the container in "detached" mode -
-p "25:25" -p "143:143"
attaches the image ports to the ports 25 (SMTP) and 143 (IMAP) on the host machine -
The
--name james
parameter gives the running container a name to make it easier to manipulate -
apache/james:demo-latest
is the image that is used for this demo
Docker will pull the image and start the container.
Connect via the CLI
As an example, list all the domains currently in use by James:
docker exec james james-cli listDomains
You should notice that a default domain, james.local, has been created
List all the current users:
docker exec james james-cli listUsers
You should see users user01@james.local
, user02@james.local
, and user03@james.local
.
Create a new "test.local" domain:
docker exec james james-cli addDomain test.local
List the domains again to ensure that "test.local" has successfully been added:
docker exec james james-cli listDomains
Add the user "testuser" to the "test.local" domain with password "password":
docker exec james james-cli addUser testuser@test.local password
You should now see your newly created user:
docker exec james james-cli listUsers
And that’s a wrap!