Merge pull request 'Add email service and settings' (#154) from feature/email_service into master
All checks were successful
continuous-integration/drone/push Build is passing

Reviewed-on: #154
Reviewed-by: galfert <garret.alfert@gmail.com>
This commit was merged in pull request #154.
This commit is contained in:
2024-01-22 09:01:18 +00:00
24 changed files with 500 additions and 35 deletions

View File

@@ -168,4 +168,30 @@ class Setting < RailsSettings::Base
field :rs_redis_url, type: :string,
default: ENV["RS_REDIS_URL"] || "redis://localhost:6379/1"
#
# E-Mail Service
#
field :email_enabled, type: :boolean,
default: ENV["EMAIL_SMTP_HOST"].present?
# field :email_smtp_host, type: :string,
# default: ENV["EMAIL_SMTP_HOST"].presence
#
# field :email_smtp_port, type: :string,
# default: ENV["EMAIL_SMTP_PORT"].presence || 587
#
# field :email_smtp_enable_starttls, type: :string,
# default: ENV["EMAIL_SMTP_PORT"].presence || true
#
# field :email_auth_method, type: :string,
# default: ENV["EMAIL_AUTH_METHOD"].presence || "plain"
#
# field :email_imap_host, type: :string,
# default: ENV["EMAIL_IMAP_HOST"].presence
#
# field :email_imap_port, type: :string,
# default: ENV["EMAIL_IMAP_PORT"].presence || 993
end

View File

@@ -5,6 +5,7 @@ class User < ApplicationRecord
attr_accessor :display_name
attr_accessor :avatar_new
attr_accessor :current_password
serialize :preferences, UserPreferences
@@ -93,11 +94,12 @@ class User < ApplicationRecord
# E-Mail update confirmed
LdapManager::UpdateEmail.call(self.dn, self.email)
else
# TODO Make configurable
# E-Mail from signup confirmed (i.e. account activation)
enable_service %w[ discourse gitea mediawiki xmpp ]
#TODO enable in development when we have easy setup of ejabberd etc.
# TODO Make configurable, only activate globally enabled services
enable_service %w[ discourse email gitea mediawiki xmpp ]
# TODO enable in development when we have easy setup of ejabberd etc.
return if Rails.env.development? || !Setting.ejabberd_enabled?
XmppExchangeContactsJob.perform_later(inviter, self) if inviter.present?