Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/mailers/devise_mailer.rb4
-rw-r--r--app/mailers/emails/projects.rb2
-rw-r--r--app/mailers/notify.rb8
-rw-r--r--config/gitlab.teatro.yml7
-rw-r--r--config/gitlab.yml.example67
-rw-r--r--config/initializers/1_settings.rb24
-rw-r--r--config/initializers/disable_email_interceptor.rb4
-rw-r--r--config/initializers/email_settings.rb5
-rw-r--r--config/initializers/smtp_settings.rb.sample22
-rw-r--r--lib/tasks/gitlab/check.rake2
-rw-r--r--spec/mailers/notify_spec.rb6
11 files changed, 51 insertions, 100 deletions
diff --git a/app/mailers/devise_mailer.rb b/app/mailers/devise_mailer.rb
index e4b65c19b3f..b616add283a 100644
--- a/app/mailers/devise_mailer.rb
+++ b/app/mailers/devise_mailer.rb
@@ -1,4 +1,4 @@
class DeviseMailer < Devise::Mailer
- default from: "#{Gitlab.config.outgoing_emails.display_name} <#{Gitlab.config.outgoing_emails.from}>"
- default reply_to: Gitlab.config.outgoing_emails.reply_to
+ default from: "#{Gitlab.config.gitlab.email_display_name} <#{Gitlab.config.gitlab.email_from}>"
+ default reply_to: Gitlab.config.gitlab.email_reply_to
end
diff --git a/app/mailers/emails/projects.rb b/app/mailers/emails/projects.rb
index c6bc716930d..9cb7077e59d 100644
--- a/app/mailers/emails/projects.rb
+++ b/app/mailers/emails/projects.rb
@@ -129,7 +129,7 @@ module Emails
if send_from_committer_email && can_send_from_user_email?(@author)
@author.email
else
- Gitlab.config.outgoing_emails.reply_to
+ Gitlab.config.gitlab.email_reply_to
end
mail(from: sender(author_id, send_from_committer_email),
diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb
index a9800f7f103..79fb48b00d3 100644
--- a/app/mailers/notify.rb
+++ b/app/mailers/notify.rb
@@ -17,7 +17,7 @@ class Notify < ActionMailer::Base
helper_method :current_user, :can?
default from: Proc.new { default_sender_address.format }
- default reply_to: Gitlab.config.outgoing_emails.reply_to
+ default reply_to: Gitlab.config.gitlab.email_reply_to
# Just send email with 2 seconds delay
def self.delay
@@ -50,9 +50,9 @@ class Notify < ActionMailer::Base
# The default email address to send emails from
def default_sender_address
- Mail::Address.new(Gitlab.config.outgoing_emails.from).tap do |address|
- address.display_name = Gitlab.config.outgoing_emails.display_name
- end
+ address = Mail::Address.new(Gitlab.config.gitlab.email_from)
+ address.display_name = Gitlab.config.gitlab.email_display_name
+ address
end
def can_send_from_user_email?(sender)
diff --git a/config/gitlab.teatro.yml b/config/gitlab.teatro.yml
index 07133503843..f0656400beb 100644
--- a/config/gitlab.teatro.yml
+++ b/config/gitlab.teatro.yml
@@ -7,6 +7,8 @@ production: &base
user: root
+ email_from: example@example.com
+
support_email: support@example.com
default_projects_features:
@@ -17,9 +19,6 @@ production: &base
snippets: false
visibility_level: "private" # can be "private" | "internal" | "public"
- outgoing_emails:
- from: example@example.com
-
issues_tracker:
gravatar:
@@ -76,8 +75,6 @@ test:
gitlab:
host: localhost
port: 80
- outgoing_emails:
- delivery_method: :test
issues_tracker:
redmine:
title: "Redmine"
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index f0b65e1e905..bd2081688d1 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -10,7 +10,7 @@
# How to use:
# 1. Copy file as gitlab.yml
# 2. Update gitlab -> host with your fully qualified domain name
-# 3. Update outgoing_emails -> from
+# 3. Update gitlab -> email_from
# 4. If you installed Git from source, change git -> bin_path to /usr/local/bin/git
# IMPORTANT: If Git was installed in a different location use that instead.
# You can check with `which git`. If a wrong path of Git is specified, it will
@@ -46,6 +46,16 @@ production: &base
# To see all available zones, run `bundle exec rake time:zones:all RAILS_ENV=production`
# time_zone: 'UTC'
+ ## Email settings
+ # Uncomment and set to false if you need to disable email sending from GitLab (default: true)
+ # email_enabled: true
+ # Email address used in the "From" field in mails sent by GitLab
+ email_from: example@example.com
+ email_display_name: GitLab
+ email_reply_to: noreply@example.com
+
+ # Email server smtp settings are in config/initializers/smtp_settings.rb.sample
+
# default_can_create_group: false # default: true
# username_changing_enabled: false # default: true - User can change her username/namespace
## Default theme
@@ -79,57 +89,6 @@ production: &base
# The default is 'tmp/repositories' relative to the root of the Rails app.
# repository_downloads_path: tmp/repositories
- ## Settings for sending emails
- outgoing_emails:
-
- # Set to false if you need to disable email sending from GitLab (default: true).
- enabled: true
-
- # Email address and name used in the "From" field in mails sent by GitLab.
- from: example@example.com
- display_name: GitLab
-
- # Email address used in "Reply-To" field in mails sent by GitLab.
- reply_to: noreply@example.com
-
- # Defines a delivery method. Possible values are:
- # :sendmail - send emails using sendmail command (default).
- # :smtp - send emails using SMTP server.
- # :letter_opener - open sent emails in browser.
- # :test - save emails to ActionMailer::Base.deliveries array.
- delivery_method: :sendmail
-
- # Settings for the :sendmail delivery method.
- sendmail_settings:
- # The location of the sendmail executable (default: /usr/sbin/sendmail).
- location: /usr/sbin/sendmail
-
- # The command line arguments to be passed to sendmail (default: -i -t).
- arguments: '-i -t'
-
- # Settings for the :smtp delivery method.
- smtp_settings:
- # Hostname of the SMTP server used to send emails (default: localhost).
- address: localhost
-
- # Port of the SMTP server used to send emails (default: 25).
- port: 25
-
- # If your mail server requires authentication, you need to specify the
- # authentication type here. Possible values are:
- # :plain - send the password in the clear text.
- # :login - send password Base64 encoded.
- # :cram_md5 - combines a Challenge/Response mechanism to exchange information and
- # a cryptographic Message Digest 5 algorithm to hash important information.
- # authentication: :plain
- # user_name: 'gitlab'
- # password: '123456'
-
- # Detects if STARTTLS is enabled in your SMTP server and starts to use it.
- # Set this to false if there is a problem with your server certificate
- # that you cannot resolve. It should be true for Gmail SMTP.
- # enable_starttls_auto: true
-
## Gravatar
## For Libravatar see: http://doc.gitlab.com/ce/customization/libravatar.html
gravatar:
@@ -336,8 +295,6 @@ production: &base
development:
<<: *base
- outgoing_emails:
- delivery_method: :letter_opener
test:
<<: *base
@@ -346,8 +303,6 @@ test:
gitlab:
host: localhost
port: 80
- outgoing_emails:
- delivery_method: :test
# When you run tests we clone and setup gitlab-shell
# In order to setup it correctly you need to specify
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index ce0023e0795..e5ac66a2323 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -105,6 +105,10 @@ Settings.gitlab['https'] = false if Settings.gitlab['https'].nil?
Settings.gitlab['port'] ||= Settings.gitlab.https ? 443 : 80
Settings.gitlab['relative_url_root'] ||= ENV['RAILS_RELATIVE_URL_ROOT'] || ''
Settings.gitlab['protocol'] ||= Settings.gitlab.https ? "https" : "http"
+Settings.gitlab['email_enabled'] ||= true if Settings.gitlab['email_enabled'].nil?
+Settings.gitlab['email_from'] ||= "gitlab@#{Settings.gitlab.host}"
+Settings.gitlab['email_display_name'] ||= "GitLab"
+Settings.gitlab['email_reply_to'] ||= "noreply@#{Settings.gitlab.host}"
Settings.gitlab['url'] ||= Settings.send(:build_gitlab_url)
Settings.gitlab['user'] ||= 'git'
Settings.gitlab['user_home'] ||= begin
@@ -131,26 +135,6 @@ Settings.gitlab['repository_downloads_path'] = File.absolute_path(Settings.gitla
Settings.gitlab['restricted_signup_domains'] ||= []
#
-# Outgoing emails
-#
-Settings['outgoing_emails'] ||= Settingslogic.new({})
-Settings['outgoing_emails'].tap do |opts|
- # For backward compatibility. TODO remove in next major release.
- opts['enabled'] ||= Settings.gitlab['email_enabled']
- opts['from'] ||= Settings.gitlab['email_from']
- opts['display_name'] ||= Settings.gitlab['display_name']
- opts['reply_to'] ||= Settings.gitlab['email_reply_to']
-
- opts['enabled'] ||= opts['enabled'].nil?
- opts['display_name'] ||= "GitLab"
- opts['from'] ||= "gitlab@#{Settings.gitlab.host}"
- opts['reply_to'] ||= "noreply@#{Settings.gitlab.host}"
- opts['delivery_method'] ||= :sendmail
- opts['sendmail_settings'] ||= {}
- opts['smtp_settings'] ||= {}
-end
-
-#
# Gravatar
#
Settings['gravatar'] ||= Settingslogic.new({})
diff --git a/config/initializers/disable_email_interceptor.rb b/config/initializers/disable_email_interceptor.rb
index 122a5829916..c76a6b8b19f 100644
--- a/config/initializers/disable_email_interceptor.rb
+++ b/config/initializers/disable_email_interceptor.rb
@@ -1,4 +1,2 @@
# Interceptor in lib/disable_email_interceptor.rb
-unless Gitlab.config.outgoing_emails.enabled
- ActionMailer::Base.register_interceptor(DisableEmailInterceptor)
-end
+ActionMailer::Base.register_interceptor(DisableEmailInterceptor) unless Gitlab.config.gitlab.email_enabled
diff --git a/config/initializers/email_settings.rb b/config/initializers/email_settings.rb
deleted file mode 100644
index 99cb09ebfd0..00000000000
--- a/config/initializers/email_settings.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-Gitlab.config.outgoing_emails.tap do |c|
- Gitlab::Application.config.action_mailer.delivery_method = c.delivery_method
- ActionMailer::Base.smtp_settings = c.smtp_settings.symbolize_keys
- ActionMailer::Base.sendmail_settings = c.sendmail_settings.symbolize_keys
-end
diff --git a/config/initializers/smtp_settings.rb.sample b/config/initializers/smtp_settings.rb.sample
new file mode 100644
index 00000000000..f0fe2fdfa43
--- /dev/null
+++ b/config/initializers/smtp_settings.rb.sample
@@ -0,0 +1,22 @@
+# To enable smtp email delivery for your GitLab instance do the following:
+# 1. Rename this file to smtp_settings.rb
+# 2. Edit settings inside this file
+# 3. Restart GitLab instance
+#
+# For full list of options and their values see http://api.rubyonrails.org/classes/ActionMailer/Base.html
+#
+
+if Rails.env.production?
+ Gitlab::Application.config.action_mailer.delivery_method = :smtp
+
+ ActionMailer::Base.smtp_settings = {
+ address: "email.server.com",
+ port: 456,
+ user_name: "smtp",
+ password: "123456",
+ domain: "gitlab.company.com",
+ authentication: :login,
+ enable_starttls_auto: true,
+ openssl_verify_mode: 'peer' # See ActionMailer documentation for other possible options
+ }
+end
diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
index f967fddf56d..1a6303b6c82 100644
--- a/lib/tasks/gitlab/check.rake
+++ b/lib/tasks/gitlab/check.rake
@@ -320,7 +320,7 @@ namespace :gitlab do
options = {
"user.name" => "GitLab",
- "user.email" => Gitlab.config.outgoing_emails.from,
+ "user.email" => Gitlab.config.gitlab.email_from,
"core.autocrlf" => "input"
}
correct_options = options.map do |name, value|
diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb
index f626efe1f76..dbcf7286e45 100644
--- a/spec/mailers/notify_spec.rb
+++ b/spec/mailers/notify_spec.rb
@@ -5,9 +5,9 @@ describe Notify do
include EmailSpec::Matchers
include RepoHelpers
- let(:gitlab_sender_display_name) { Gitlab.config.outgoing_emails.display_name }
- let(:gitlab_sender) { Gitlab.config.outgoing_emails.from }
- let(:gitlab_sender_reply_to) { Gitlab.config.outgoing_emails.reply_to }
+ let(:gitlab_sender_display_name) { Gitlab.config.gitlab.email_display_name }
+ let(:gitlab_sender) { Gitlab.config.gitlab.email_from }
+ let(:gitlab_sender_reply_to) { Gitlab.config.gitlab.email_reply_to }
let(:recipient) { create(:user, email: 'recipient@example.com') }
let(:project) { create(:project) }