Duplicate email (account in multiple organizations) configuration
This document shows the necessary steps to allow users from different Organizations to have the same email address in Zammad. This is important as it allows Zammad to sync with the omni platform where we have different accounts across different companies (e.g. QC, Amazon, ISOMAT).
Example:
This is a single user with accounts in different organizations, and their email is user@people-t.com
IMPORTANT: The following steps are applicable only on the zammad docker compose version.
IT IS IMPOSSIBLE TO MAKE CHANGES IN THE EMAIL CONFIGURATION FROM THE UI OF ZAMMAD FOR SECURITY REASONS. THE FOLLOWING STEPS ARE THE ONLY WAY.
Step 1: Verify that Zammad is running
The first step is use ssh to connect into the host VM of the Zammad service. Then user verify that all zammad services are running
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e38d177a6353 ghcr.io/zammad/zammad:7.0.0-0058 "/opt/zammad/bin/doc…" 4 hours ago Up 4 hours 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp zammad-docker-compose-zammad-nginx-1
dcc06a94fd22 ghcr.io/zammad/zammad:7.0.0-0058 "/opt/zammad/bin/doc…" 4 hours ago Up 4 hours zammad-docker-compose-zammad-scheduler-1
44ff5fb51bb3 ghcr.io/zammad/zammad:7.0.0-0058 "/opt/zammad/bin/doc…" 4 hours ago Up 4 hours zammad-docker-compose-zammad-backup-1
15eca5a4b5bc ghcr.io/zammad/zammad:7.0.0-0058 "/opt/zammad/bin/doc…" 4 hours ago Up 4 hours zammad-docker-compose-zammad-websocket-1
56f8fe40d594 ghcr.io/zammad/zammad:7.0.0-0058 "/opt/zammad/bin/doc…" 4 hours ago Up 5 minutes zammad-docker-compose-zammad-railsserver-1
6b140dc1a401 ghcr.io/zammad/zammad:7.0.0-0058 "/opt/zammad/bin/doc…" 4 hours ago Exited (0) 4 hours ago zammad-docker-compose-zammad-init-1
18bc058f836a postgres:17.9-alpine "docker-entrypoint.s…" 4 hours ago Up 4 hours 5432/tcp zammad-docker-compose-zammad-postgresql-1
fefd6b1a2bc4 redis:8.6.2-alpine "docker-entrypoint.s…" 4 hours ago Up 4 hours 6379/tcp zammad-docker-compose-zammad-redis-1
f23f2e877667 memcached:1.6.41-alpine "docker-entrypoint.s…" 4 hours ago Up 4 hours 11211/tcp zammad-docker-compose-zammad-memcached-1
cec47eff3891 elasticsearch:9.3.2 "/bin/tini -- /usr/l…" 4 hours ago Up 4 hours 9200/tcp, 9300/tcp zammad-docker-compose-zammad-elasticsearch-1
Step 2: Execute /bin/bash into the railsserver
docker exec -it zammad-docker-compose-zammad-railsserver-1 /bin/bash
zammad@56f8fe40d594:~$
Step 3: Execute rails c in the container
bundle exec rails c
I, [2026-04-07T13:51:19.997359#981-2656] INFO -- : Using memcached as Rails cache store.
I, [2026-04-07T13:51:19.997522#981-2656] INFO -- : Using the Redis back end for Zammad's web socket session store.
I, [2026-04-07T13:51:21.336239#981-2656] INFO -- : ActionCable is configured to accept requests from (?-mix:https?:\/\/localhost:\d+), https://people-helpdesk.westeurope.cloudapp.azure.com.
Loading production environment (Rails 8.0.5)
[1] pry(main)>
Step 4: Set/Unset global Setting
Make the change and then verify that the new configuration is applied.
Setting.get('user_email_multiple_use')
false
-
Setting.set('user_email_multiple_use', true) -
Setting.get('user_email_multiple_use')
true
Step 5: Restart the railsserver
docker restart zammad-docker-compose-zammad-railsserver-1