Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions app/mailers/admin_mailer.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
class AdminMailer < ActionMailer::Base
default :from => "nztrain@gmail.com"

def custom_email(admin,user,subject,msgbody)
@user = user
@msgbody = msgbody
Expand Down
2 changes: 1 addition & 1 deletion app/views/user/admin_email.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
</div>
<p>
<%= current_user.name %><br />
Admin of nztrain.com
Admin of NZOI Training
</p>

<div class="actions">
Expand Down
9 changes: 4 additions & 5 deletions config/application.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
require 'rubygems'
require 'rails/all'

if defined?(Bundler)
if defined?(Bundler)
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env)
Expand Down Expand Up @@ -46,15 +46,14 @@ class Application < Rails::Application
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default :charset => "utf-8"

ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:authentication => :plain,
:domain => 'nztrain.com',
:user_name => 'nztrain@gmail.com', # username and password set with higher priority in settings table
:password => 'training site',
:domain => 'nzoi.org.nz',
#:user_name => ..., # set in config/initializers/mailer.rb
#:password => ..., # set in config/initializers/mailer.rb
:enable_starttls_auto => true
}

Expand Down
2 changes: 2 additions & 0 deletions config/environments/test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
# ActionMailer::Base.deliveries array.
config.action_mailer.delivery_method = :test

config.action_mailer.default_options = { from: "train@example.com" }

# Use SQL instead of Active Record's schema dumper when creating the test database.
# This is necessary if your schema can't be completely dumped by the schema dumper,
# like if you have constraints or database-specific column types
Expand Down
2 changes: 1 addition & 1 deletion config/initializers/devise.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# Configure the e-mail address which will be shown in Devise::Mailer,
# note that it will be overwritten if you use your own mailer class
# with default "from" parameter.
config.mailer_sender = "nztrain@gmail.com"
#config.mailer_sender = ...

# Configure the class responsible to send e-mails.
# config.mailer = "Devise::Mailer"
Expand Down
16 changes: 13 additions & 3 deletions config/initializers/mailer.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
# use db stored username and password for email if present
# use db-stored email address and password for sending email

def email_address_with_name(address, name)
# can switch to ActionMailer::Base.email_address_with_name() once we upgrade to Rails 6
Mail::Address.new.tap do |builder|
builder.address = address
builder.display_name = name.presence
end.to_s
end

if ActiveRecord::Base.connection.table_exists?(Setting.table_name)
ActionMailer::Base.smtp_settings[:user_name] = Setting.find_by_key("system/mailer/username").value if Setting.find_by_key("system/mailer/username")
ActionMailer::Base.smtp_settings[:password] = Setting.find_by_key("system/mailer/password").value if Setting.find_by_key("system/mailer/password")
email_setting = Setting.find_by_key("system/mailer/email")
ActionMailer::Base.smtp_settings[:user_name] = email_setting&.value
ActionMailer::Base.smtp_settings[:password] = Setting.find_by_key("system/mailer/password")&.value
ActionMailer::Base.default from: email_address_with_name(email_setting.value, "NZOI Training") if email_setting&.value.present?
end

9 changes: 0 additions & 9 deletions db/migrate/20120805061859_system_mailer_settings.rb

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class RenameSettingMailerUsernameToEmail < ActiveRecord::Migration
# this migration can be deleted after deploying

def up
execute "UPDATE settings SET key = 'system/mailer/email' WHERE key = 'system/mailer/username'"
end

def down
execute "UPDATE settings SET key = 'system/mailer/username' WHERE key = 'system/mailer/email'"
end
end
2 changes: 1 addition & 1 deletion db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 20230225054132) do
ActiveRecord::Schema.define(version: 20250318053450) do

# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
Expand Down
2 changes: 1 addition & 1 deletion db/seeds.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
superadmin.users.push(rootuser) unless superadmin.users.include?(rootuser);
end

["recaptcha/public_key","recaptcha/private_key"].each do |setting|
["system/mailer/email","system/mailer/password","recaptcha/public_key","recaptcha/private_key"].each do |setting|
Setting.find_or_create_by(key: setting)
end

Expand Down
2 changes: 1 addition & 1 deletion lib/development_mail_interceptor.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
class DevelopmentMailInterceptor
def self.delivering_email(message)
message.subject = "[Development] #{message.to} #{message.subject}"
message.to = "nztrain@gmail.com"
message.to = message.from
end
end

Loading