Skip to content

Commit cedf319

Browse files
authored
Merge pull request #569 from code0-tech/558-setup-actionmailer
Setup actionmailer
2 parents ca4bf25 + a3f7227 commit cedf319

File tree

6 files changed

+34
-7
lines changed

6 files changed

+34
-7
lines changed

app/mailers/application_mailer.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# frozen_string_literal: true
22

33
class ApplicationMailer < ActionMailer::Base
4-
default from: 'from@example.com'
4+
default from: Sagittarius::Configuration.config[:rails][:mailer][:from]
55
layout 'mailer'
6+
7+
def test_mail
8+
@user = params[:user]
9+
10+
mail(to: @user.email, subject: 'Test mail')
11+
end
612
end
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<p>This mail is only for testing purposes it has no meaning, you can ignore it</p>

config/environments/development.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
config.active_storage.service = :local
3737

3838
# Don't care if the mailer can't send.
39-
config.action_mailer.raise_delivery_errors = false
39+
config.action_mailer.raise_delivery_errors = true
4040

4141
config.action_mailer.perform_caching = false
4242

config/environments/production.rb

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,17 @@
5757

5858
config.action_mailer.perform_caching = false
5959

60+
config.action_mailer.delivery_method = :smtp
6061
config.action_mailer.smtp_settings = {
61-
address: ENV.fetch('SAGITTARIUS_MAIL_SMTP_ADDRESS', 'localhost'),
62-
port: ENV.fetch('SAGITTARIUS_MAIL_SMTP_PORT', 25),
63-
user_name: ENV.fetch('SAGITTARIUS_MAIL_SMTP_USERNAME', nil),
64-
password: ENV.fetch('SAGITTARIUS_MAIL_SMTP_PASSWORD', nil),
65-
authentication: ENV.fetch('SAGITTARIUS_MAIL_SMTP_AUTHENTICATION', 'plain').to_sym,
62+
address: Sagittarius::Configuration.config[:rails][:mailer][:address],
63+
port: Sagittarius::Configuration.config[:rails][:mailer][:port],
64+
domain: Sagittarius::Configuration.config[:rails][:mailer][:domain],
65+
user_name: Sagittarius::Configuration.config[:rails][:mailer][:username],
66+
password: Sagittarius::Configuration.config[:rails][:mailer][:password],
67+
authentication: 'plain',
68+
enable_starttls: true,
69+
open_timeout: 5,
70+
read_timeout: 5,
6671
}
6772

6873
# Ignore bad email addresses and do not raise email delivery errors.

config/sagittarius.example.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
rails:
22
threads: 3
33
log_level: info
4+
mailer:
5+
from: Code0 <testmail@code0.tech>
6+
address: smtp.example.com
7+
port: 587
8+
domain: code0.tech
9+
username: testmail@code0.tech
10+
password: changeme
411
web:
512
port: 3000
613
force_ssl:

lib/sagittarius/configuration.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@ def self.defaults
2929
host: '0.0.0.0:50051',
3030
},
3131
log_level: 'info',
32+
mailer: {
33+
from: 'Code0 <testmail@code0.tech>',
34+
address: 'smtp.example.com',
35+
port: 587,
36+
domain: 'code0.tech',
37+
username: 'testmail@code0.tech',
38+
password: 'changeme',
39+
},
3240
db: {
3341
host: 'localhost',
3442
port: 5433,

0 commit comments

Comments
 (0)