GitLab has several features based on receiving incoming email messages:
- Reply by Email
- New issue by Email
- New merge request by email
- Service Desk.
Set up
You can configure production.incoming_email in /app/data/gitlab.yaml with the IMAP information. The mailroom service is automatically started when production.incoming_email.enabled is set to true (verify using supervisorctl status in the Web Terminal).
Testing
- Reply by Email - Each issues has a per user email address. Click on the ribbon in the issue page to find this address.
- New issue by Email - You will find the unique email address per user in the issues page of the project.
- Service Desk - Enable this for a project in Settings -> General -> Service Desk. The support desk email address is displayed here.
- Service Desk custom address - This step is only required if you want to a set a different support email address than the incoming email address. To set a custom Service Desk address which is shared for the full instance, add a section service_desk_email in /app/data/gitlab.yml as mentioned here:
production: &base
... other configs ...
service_desk_email:
enabled: true
address: "project_contact+%{key}@example.com"
user: "project_contact@example.com"
password: "[REDACTED]"
host: "my.domain.com"
port: 993
ssl: true
start_tls: false
log_path: "log/mailroom.log"
mailbox: "inbox"
idle_timeout: 60
expunge_deleted: true
Be sure to restart GitLab after making the above changes.