Revert "Allow to configure smtp and sendmail in gitlab.yml"
This commit is contained in:
parent
86ec49add4
commit
317ed1fa90
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -130,26 +134,6 @@ Settings.gitlab.default_projects_features['visibility_level'] = Settings.send
|
|||
Settings.gitlab['repository_downloads_path'] = File.absolute_path(Settings.gitlab['repository_downloads_path'] || 'tmp/repositories', Rails.root)
|
||||
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
|
||||
#
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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|
|
||||
|
|
|
|||
|
|
@ -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) }
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue