Class: LucaSupport::Mail
Instance Method Summary
collapse
included, #where
Methods included from Code
decimalize, decode_date, decode_id, decode_month, decode_term, decode_txid, delimit_num, encode_date, encode_dirname, encode_month, encode_term, encode_txid, has_status?, issue_random_id, keys_stringify, match_score, parse_current, readable, take_current, take_history, to_ngram
Constructor Details
#initialize(mail = nil, pjdir = nil) ⇒ Mail
11
12
13
14
15
16
17
|
# File 'lib/luca_support/mail.rb', line 11
def initialize(mail=nil, pjdir=nil)
@pjdir = pjdir || Dir.pwd
@config = self.class.load_config(@pjdir)
@mail = mail
set_message_default
@host = set_host
end
|
Instance Method Details
#deliver ⇒ Object
19
20
21
22
23
24
25
26
27
|
# File 'lib/luca_support/mail.rb', line 19
def deliver
if conn = conn_with_tls
@mail.delivery_method(:smtp_connection, { connection: conn })
else
@mail.delivery_method(:smtp, @host)
end
@mail.deliver
end
|
#mail_config(attr = nil) ⇒ Object
44
45
46
47
|
# File 'lib/luca_support/mail.rb', line 44
def mail_config(attr=nil)
return nil if attr.nil?
@config.dig("mail", attr)
end
|
#set_host ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/luca_support/mail.rb', line 29
def set_host
{
address: mail_config("address"),
port: mail_config("port"),
domain: mail_config("domain"),
user_name: mail_config("user_name"),
password: mail_config("password"),
authentication: mail_config("authentication"),
enable_starttls: mail_config("enable_starttls"),
openssl_verify_mode: mail_config("openssl_verify_mode"),
ssl: mail_config("ssl"),
tls: mail_config("tls"),
}
end
|
#set_message_default ⇒ Object
49
50
51
52
|
# File 'lib/luca_support/mail.rb', line 49
def set_message_default
@mail.from ||= @config.dig("mail", "from")
@mail.cc ||= @config.dig("mail", "cc")
end
|