9f218fc184
A few things to note: - The IncomingEmail feature is now enabled even without a correctly-formatted sub-address - Message-ID for new thread mail are kept the same so that subsequent notifications to this thread are grouped in the thread by the email service that receives the notification (i.e. In-Reply-To of the answer == Message-ID of the first thread message) - To maximize our chance to be able to retrieve the reply key, we look for it in the In-Reply-To header and the References header - The pattern for the fallback reply message id is "reply-[key]@[gitlab_host]" - Improve docs thanks to Axil
47 lines
1.5 KiB
YAML
47 lines
1.5 KiB
YAML
:mailboxes:
|
|
<%
|
|
require "yaml"
|
|
require "json"
|
|
require_relative "lib/gitlab/redis_config"
|
|
|
|
rails_env = ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development"
|
|
|
|
config_file = ENV["MAIL_ROOM_GITLAB_CONFIG_FILE"] || "config/gitlab.yml"
|
|
if File.exists?(config_file)
|
|
all_config = YAML.load_file(config_file)[rails_env]
|
|
|
|
config = all_config["incoming_email"] || {}
|
|
config['enabled'] = false if config['enabled'].nil?
|
|
config['port'] = 143 if config['port'].nil?
|
|
config['ssl'] = false if config['ssl'].nil?
|
|
config['start_tls'] = false if config['start_tls'].nil?
|
|
config['mailbox'] = "inbox" if config['mailbox'].nil?
|
|
|
|
if config['enabled'] && config['address']
|
|
redis_url = Gitlab::RedisConfig.new(rails_env).url
|
|
%>
|
|
-
|
|
:host: <%= config['host'].to_json %>
|
|
:port: <%= config['port'].to_json %>
|
|
:ssl: <%= config['ssl'].to_json %>
|
|
:start_tls: <%= config['start_tls'].to_json %>
|
|
:email: <%= config['user'].to_json %>
|
|
:password: <%= config['password'].to_json %>
|
|
|
|
:name: <%= config['mailbox'].to_json %>
|
|
|
|
:delete_after_delivery: true
|
|
|
|
:delivery_method: sidekiq
|
|
:delivery_options:
|
|
:redis_url: <%= redis_url.to_json %>
|
|
:namespace: resque:gitlab
|
|
:queue: incoming_email
|
|
:worker: EmailReceiverWorker
|
|
|
|
:arbitration_method: redis
|
|
:arbitration_options:
|
|
:redis_url: <%= redis_url.to_json %>
|
|
:namespace: mail_room:gitlab
|
|
<% end %>
|
|
<% end %>
|