Skip to content
Snippets Groups Projects
Commit 317ed1fa authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Revert "Allow to configure smtp and sendmail in gitlab.yml"

parent 86ec49ad
No related branches found
No related tags found
No related merge requests found
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
Loading
Loading
@@ -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),
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
@@ -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)
Loading
Loading
Loading
Loading
@@ -7,6 +7,8 @@ production: &base
 
user: root
 
email_from: example@example.com
support_email: support@example.com
 
default_projects_features:
Loading
Loading
@@ -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:
Loading
Loading
@@ -76,8 +75,6 @@ test:
gitlab:
host: localhost
port: 80
outgoing_emails:
delivery_method: :test
issues_tracker:
redmine:
title: "Redmine"
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
@@ -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
Loading
Loading
@@ -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:
Loading
Loading
@@ -336,8 +295,6 @@ production: &base
 
development:
<<: *base
outgoing_emails:
delivery_method: :letter_opener
 
test:
<<: *base
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
@@ -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
#
Loading
Loading
# 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
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
# 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
Loading
Loading
@@ -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|
Loading
Loading
Loading
Loading
@@ -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
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment