4e416b4d51
* Add openssl verify mode and email encryption for smtp configuration * Add spec for code coverage
53 lines
1.3 KiB
Ruby
53 lines
1.3 KiB
Ruby
module ConversationReplyMailerHelper
|
|
def prepare_mail(cc_bcc_enabled)
|
|
@options = {
|
|
to: @contact&.email,
|
|
from: email_from,
|
|
reply_to: email_reply_to,
|
|
subject: mail_subject,
|
|
message_id: custom_message_id,
|
|
in_reply_to: in_reply_to_email
|
|
}
|
|
|
|
if cc_bcc_enabled
|
|
@options[:cc] = cc_bcc_emails[0]
|
|
@options[:bcc] = cc_bcc_emails[1]
|
|
end
|
|
|
|
set_delivery_method
|
|
mail(@options)
|
|
end
|
|
|
|
private
|
|
|
|
def set_delivery_method
|
|
return unless @inbox.inbox_type == 'Email' && @channel.smtp_enabled
|
|
|
|
smtp_settings = {
|
|
address: @channel.smtp_address,
|
|
port: @channel.smtp_port,
|
|
user_name: @channel.smtp_email,
|
|
password: @channel.smtp_password,
|
|
domain: @channel.smtp_domain,
|
|
tls: @channel.smtp_enable_ssl_tls,
|
|
enable_starttls_auto: @channel.smtp_enable_starttls_auto,
|
|
openssl_verify_mode: @channel.smtp_openssl_verify_mode,
|
|
authentication: @channel.smtp_authentication
|
|
}
|
|
|
|
@options[:delivery_method] = :smtp
|
|
@options[:delivery_method_options] = smtp_settings
|
|
end
|
|
|
|
def email_smtp_enabled
|
|
@inbox.inbox_type == 'Email' && @channel.imap_enabled
|
|
end
|
|
|
|
def email_from
|
|
email_smtp_enabled ? @channel.smtp_email : from_email_with_name
|
|
end
|
|
|
|
def email_reply_to
|
|
email_smtp_enabled ? @channel.smtp_email : reply_email
|
|
end
|
|
end
|