class Forty::Mailer
Attributes
enabled[RW]
smtp_address[RW]
smtp_authentication[RW]
smtp_encryption[RW]
smtp_host[RW]
smtp_password[RW]
smtp_port[RW]
smtp_username[RW]
templates[RW]
Public Instance Methods
send_welcome(recipient, username, password)
click to toggle source
# File lib/forty/configuration.rb, line 42 def send_welcome(recipient, username, password) mail = ::Mail.new mail.delivery_method :smtp, { smtp_envelope_from: @smtp_address, address: @smtp_host, port: @smtp_port.to_i, user_name: @smtp_username, password: @smtp_password, authentication: @smtp_authentication, encryption: @smtp_encryption, } mail.from @smtp_address mail.to recipient mail.subject "#{Forty.database_configuration.name.to_s.length == 0 ? '' : Forty.database_configuration.name + ' '}DB Credentials (User: #{username})" parameters = binding parameters.local_variable_set(:database_name, Forty.database_configuration.name) parameters.local_variable_set(:username, username) parameters.local_variable_set(:password, password) parameters.local_variable_set(:host, Forty.database_configuration.host) parameters.local_variable_set(:port, Forty.database_configuration.port) parameters.local_variable_set(:database, Forty.database_configuration.database) if @enabled mail.body ERB.new(File.read(@templates[:user_created])).result(parameters) Forty.configuration.logger.info('Sending \'user_created\' email to ' + recipient) mail.deliver Forty.configuration.logger.info('Sent \'user_created\' email successfully') else Forty.configuration.logger.warn('Mail not enabled, skipped sending welcome email. You will need to regenerate a password for user ' + username + '.') end end