Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
18b45aaa
Commit
18b45aaa
authored
Feb 21, 2019
by
GitLab Bot
Browse files
Options
Browse Files
Download
Plain Diff
Automatic merge of gitlab-org/gitlab-ce master
parents
f93bbf1b
9ec107ff
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
195 additions
and
190 deletions
+195
-190
doc/administration/incoming_email.md
doc/administration/incoming_email.md
+195
-190
No files found.
doc/administration/incoming_email.md
View file @
18b45aaa
...
...
@@ -97,244 +97,249 @@ for a real-world example of this exploit.
### Omnibus package installations
1.
Find the
`incoming_email`
section in
`/etc/gitlab/gitlab.rb`
, enable the
feature and fill in the details for your specific IMAP server and email account:
1.
Find the
`incoming_email`
section in
`/etc/gitlab/gitlab.rb`
, enable the
feature
and fill in the details for your specific IMAP server and email account (see
[
examples
](
#config-examples
)
below).
Configuration for Postfix mail server, assumes mailbox
incoming@gitlab.example.com
1.
Reconfigure GitLab for the changes to take effect:
```ruby
gitlab_rails['incoming_email_enabled'] = true
```sh
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
```
# The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
# The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
gitlab_rails['incoming_email_address'] = "incoming+%{key}@gitlab.example.com"
1.
Verify that everything is configured correctly:
# Email account username
# With third party providers, this is usually the full email address.
# With self-hosted email servers, this is usually the user part of the email address.
gitlab_rails['incoming_email_email'] = "incoming"
# Email account password
gitlab_rails['incoming_email_password'] = "[REDACTED]"
```sh
sudo gitlab-rake gitlab:incoming_email:check
```
# IMAP server host
gitlab_rails['incoming_email_host'] = "gitlab.example.com"
# IMAP server port
gitlab_rails['incoming_email_port'] = 143
# Whether the IMAP server uses SSL
gitlab_rails['incoming_email_ssl'] = false
# Whether the IMAP server uses StartTLS
gitlab_rails['incoming_email_start_tls'] = false
Reply by email should now be working.
# The mailbox where incoming mail will end up. Usually "inbox".
gitlab_rails['incoming_email_mailbox_name'] = "inbox"
# The IDLE command timeout.
gitlab_rails['incoming_email_idle_timeout'] = 60
### Installations from source
1.
Go to the GitLab installation directory:
```sh
cd /home/git/gitlab
```
Configuration for Gmail / Google Apps, assumes mailbox
gitlab-incoming@gmail.com
1.
Find the
`incoming_email`
section in
`config/gitlab.yml`
, enable the feature
and fill in the details for your specific IMAP server and email account (see
[
examples
](
#config-examples
)
below).
```ruby
gitlab_rails['incoming_email_enabled'] = true
1.
Enable
`mail_room`
in the init script at
`/etc/default/gitlab`
:
```sh
sudo mkdir -p /etc/default
echo 'mail_room_enabled=true' | sudo tee -a /etc/default/gitlab
```
1.
Restart GitLab:
```sh
sudo service gitlab restart
```
1.
Verify that everything is configured correctly:
```sh
sudo -u git -H bundle exec rake gitlab:incoming_email:check RAILS_ENV=production
```
Reply by email should now be working.
### Config examples
#### Postfix
Example configuration for Postfix mail server. Assumes mailbox incoming@gitlab.example.com.
Example for Omnibus installs:
```
ruby
gitlab_rails
[
'incoming_email_enabled'
]
=
true
# The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
# The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
gitlab_rails
[
'incoming_email_address'
]
=
"incoming+%{key}@gitlab.example.com"
# Email account username
# With third party providers, this is usually the full email address.
# With self-hosted email servers, this is usually the user part of the email address.
gitlab_rails
[
'incoming_email_email'
]
=
"incoming"
# Email account password
gitlab_rails
[
'incoming_email_password'
]
=
"[REDACTED]"
# IMAP server host
gitlab_rails
[
'incoming_email_host'
]
=
"gitlab.example.com"
# IMAP server port
gitlab_rails
[
'incoming_email_port'
]
=
143
# Whether the IMAP server uses SSL
gitlab_rails
[
'incoming_email_ssl'
]
=
false
# Whether the IMAP server uses StartTLS
gitlab_rails
[
'incoming_email_start_tls'
]
=
false
# The mailbox where incoming mail will end up. Usually "inbox".
gitlab_rails
[
'incoming_email_mailbox_name'
]
=
"inbox"
# The IDLE command timeout.
gitlab_rails
[
'incoming_email_idle_timeout'
]
=
60
```
Example for source installs:
```
yaml
incoming_email
:
enabled
:
true
# The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
# The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
gitlab_rails['incoming_email_address'] = "gitlab-incoming+%{key}@gmail
.com"
address
:
"
incoming+%{key}@gitlab.example
.com"
# Email account username
# With third party providers, this is usually the full email address.
# With self-hosted email servers, this is usually the user part of the email address.
gitlab_rails['incoming_email_email'] = "gitlab-incoming@gmail.com
"
user
:
"
incoming
"
# Email account password
gitlab_rails['incoming_email_password'] =
"[REDACTED]"
password
:
"
[REDACTED]"
# IMAP server host
gitlab_rails['incoming_email_host'] = "imap.gmail
.com"
host
:
"
gitlab.example
.com"
# IMAP server port
gitlab_rails['incoming_email_port'] = 99
3
port
:
14
3
# Whether the IMAP server uses SSL
gitlab_rails['incoming_email_ssl'] = tru
e
ssl
:
fals
e
# Whether the IMAP server uses StartTLS
gitlab_rails['incoming_email_start_tls'] =
false
start_tls
:
false
# The mailbox where incoming mail will end up. Usually "inbox".
gitlab_rails['incoming_email_mailbox_name'] =
"inbox"
mailbox
:
"
inbox"
# The IDLE command timeout.
gitlab_rails['incoming_email_idle_timeout'] = 60
```
idle_timeout
:
60
```
#### Gmail
Example configuration for Gmail/G Suite. Assumes mailbox gitlab-incoming@gmail.com.
Example for Omnibus installs:
```
ruby
gitlab_rails
[
'incoming_email_enabled'
]
=
true
Configuration for Microsoft Exchange mail server w/ IMAP enabled, assumes the
catch-all mailbox incoming@exchange.example.com
# The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
# The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
gitlab_rails
[
'incoming_email_address'
]
=
"gitlab-incoming+%{key}@gmail.com"
```ruby
gitlab_rails['incoming_email_enabled'] = true
# Email account username
# With third party providers, this is usually the full email address.
# With self-hosted email servers, this is usually the user part of the email address.
gitlab_rails
[
'incoming_email_email'
]
=
"gitlab-incoming@gmail.com"
# Email account password
gitlab_rails
[
'incoming_email_password'
]
=
"[REDACTED]"
# IMAP server host
gitlab_rails
[
'incoming_email_host'
]
=
"imap.gmail.com"
# IMAP server port
gitlab_rails
[
'incoming_email_port'
]
=
993
# Whether the IMAP server uses SSL
gitlab_rails
[
'incoming_email_ssl'
]
=
true
# Whether the IMAP server uses StartTLS
gitlab_rails
[
'incoming_email_start_tls'
]
=
false
# The mailbox where incoming mail will end up. Usually "inbox".
gitlab_rails
[
'incoming_email_mailbox_name'
]
=
"inbox"
# The IDLE command timeout.
gitlab_rails
[
'incoming_email_idle_timeout'
]
=
60
```
Example for source installs:
```
yaml
incoming_email
:
enabled
:
true
# The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
# The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
# Exchange does not support sub-addressing, so a catch-all mailbox must be used.
gitlab_rails['incoming_email_address'] = "incoming-%{key}@exchange.example.com"
address
:
"
gitlab-incoming+%{key}@gmail.com"
# Email account username
# Typically this is the userPrincipalName (UPN)
gitlab_rails['incoming_email_email'] = "incoming@ad-domain.example.com"
# With third party providers, this is usually the full email address.
# With self-hosted email servers, this is usually the user part of the email address.
user
:
"
gitlab-incoming@gmail.com"
# Email account password
gitlab_rails['incoming_email_password'] =
"[REDACTED]"
password
:
"
[REDACTED]"
# IMAP server host
gitlab_rails['incoming_email_host'] = "exchange.example
.com"
host
:
"
imap.gmail
.com"
# IMAP server port
gitlab_rails['incoming_email_port'] =
993
port
:
993
# Whether the IMAP server uses SSL
gitlab_rails['incoming_email_ssl'] = true
```
1.
Reconfigure GitLab for the changes to take effect:
ssl
:
true
# Whether the IMAP server uses StartTLS
start_tls
:
false
```sh
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
```
# The mailbox where incoming mail will end up. Usually "inbox".
mailbox
:
"
inbox"
# The IDLE command timeout.
idle_timeout
:
60
```
1.
Verify that everything is configured correctly:
#### MS Exchange
```sh
sudo gitlab-rake gitlab:incoming_email:check
```
Example configuration for Microsoft Exchange mail server with IMAP enabled. Assumes the
catch-all mailbox incoming@exchange.example.com.
1.
Reply by email should now be working.
Example for Omnibus installs:
### Installations from source
```
ruby
gitlab_rails
[
'incoming_email_enabled'
]
=
true
1.
Go to the GitLab installation directory:
# The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
# The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
# Exchange does not support sub-addressing, so a catch-all mailbox must be used.
gitlab_rails
[
'incoming_email_address'
]
=
"incoming-%{key}@exchange.example.com"
```sh
cd /home/git/gitlab
```
# Email account username
# Typically this is the userPrincipalName (UPN)
gitlab_rails
[
'incoming_email_email'
]
=
"incoming@ad-domain.example.com"
# Email account password
gitlab_rails
[
'incoming_email_password'
]
=
"[REDACTED]"
1.
Find the
`incoming_email`
section in
`config/gitlab.yml`
, enable the feature
and fill in the details for your specific IMAP server and email account:
# IMAP server host
gitlab_rails
[
'incoming_email_host'
]
=
"exchange.example.com"
# IMAP server port
gitlab_rails
[
'incoming_email_port'
]
=
993
# Whether the IMAP server uses SSL
gitlab_rails
[
'incoming_email_ssl'
]
=
true
```
```sh
sudo editor config/gitlab.yml
```
Example for source installs:
Configuration for Postfix mail server, assumes mailbox
incoming@gitlab.example.com
```yaml
incoming_email:
enabled: true
# The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
# The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
address: "incoming+%{key}@gitlab.example.com"
# Email account username
# With third party providers, this is usually the full email address.
# With self-hosted email servers, this is usually the user part of the email address.
user: "incoming"
# Email account password
password: "[REDACTED]"
# IMAP server host
host: "gitlab.example.com"
# IMAP server port
port: 143
# Whether the IMAP server uses SSL
ssl: false
# Whether the IMAP server uses StartTLS
start_tls: false
# The mailbox where incoming mail will end up. Usually "inbox".
mailbox: "inbox"
# The IDLE command timeout.
idle_timeout: 60
```
```
yaml
incoming_email
:
enabled
:
true
Configuration for Gmail / Google Apps, assumes mailbox
gitlab-incoming@gmail.com
```yaml
incoming_email:
enabled: true
# The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
# The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
address: "gitlab-incoming+%{key}@gmail.com"
# Email account username
# With third party providers, this is usually the full email address.
# With self-hosted email servers, this is usually the user part of the email address.
user: "gitlab-incoming@gmail.com"
# Email account password
password: "[REDACTED]"
# IMAP server host
host: "imap.gmail.com"
# IMAP server port
port: 993
# Whether the IMAP server uses SSL
ssl: true
# Whether the IMAP server uses StartTLS
start_tls: false
# The mailbox where incoming mail will end up. Usually "inbox".
mailbox: "inbox"
# The IDLE command timeout.
idle_timeout: 60
```
Configuration for Microsoft Exchange mail server w/ IMAP enabled, assumes the
catch-all mailbox incoming@exchange.example.com
```yaml
incoming_email:
enabled: true
# The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
# The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
# Exchange does not support sub-addressing, so a catch-all mailbox must be used.
address: "incoming-%{key}@exchange.example.com"
# Email account username
# Typically this is the userPrincipalName (UPN)
user: "incoming@ad-domain.example.com"
# Email account password
password: "[REDACTED]"
# IMAP server host
host: "exchange.example.com"
# IMAP server port
port: 993
# Whether the IMAP server uses SSL
ssl: true
# Whether the IMAP server uses StartTLS
start_tls: false
# The mailbox where incoming mail will end up. Usually "inbox".
mailbox: "inbox"
# The IDLE command timeout.
idle_timeout: 60
```
1.
Enable
`mail_room`
in the init script at
`/etc/default/gitlab`
:
```sh
sudo mkdir -p /etc/default
echo 'mail_room_enabled=true' | sudo tee -a /etc/default/gitlab
```
1.
Restart GitLab:
```sh
sudo service gitlab restart
```
# The email address including the `%{key}` placeholder that will be replaced to reference the item being replied to.
# The placeholder can be omitted but if present, it must appear in the "user" part of the address (before the `@`).
# Exchange does not support sub-addressing, so a catch-all mailbox must be used.
address
:
"
incoming-%{key}@exchange.example.com"
1.
Verify that everything is configured correctly:
# Email account username
# Typically this is the userPrincipalName (UPN)
user
:
"
incoming@ad-domain.example.com"
# Email account password
password
:
"
[REDACTED]"
```sh
sudo -u git -H bundle exec rake gitlab:incoming_email:check RAILS_ENV=production
```
# IMAP server host
host
:
"
exchange.example.com"
# IMAP server port
port
:
993
# Whether the IMAP server uses SSL
ssl
:
true
# Whether the IMAP server uses StartTLS
start_tls
:
false
1.
Reply by email should now be working.
# The mailbox where incoming mail will end up. Usually "inbox".
mailbox
:
"
inbox"
# The IDLE command timeout.
idle_timeout
:
60
```
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment