smtp configurable

This commit is contained in:
2025-07-24 13:00:57 -03:00
parent 39476262ac
commit 28c63c5c60

View File

@ -38,19 +38,43 @@ if config_env() == :prod do
end
config :api, Api.Mailer,
adapter: Swoosh.Adapters.SMTP,
relay: Envar.get("SMTP_RELAY"),
port: 587,
auth: :always,
ssl: false,
tls: :always,
retries: 10,
username: Envar.get("SMTP_USER"),
password: Envar.get("SMTP_PASS"),
tls_options: [
verify: :verify_peer,
cacerts: :public_key.cacerts_get(),
server_name_indication: ~c"mail.sanatoriopasteur.com.ar",
depth: 99
]
case Envar.get("SMPT_TYPE") do
"tls" ->
config :api, Api.Mailer,
adapter: Swoosh.Adapters.SMTP,
relay: Envar.get("SMTP_RELAY"),
port: String.to_integer(Envar.get("SMTP_PORT")) || Envar.get("SMTP_PORT"),
username: Envar.get("SMTP_USER"),
password: Envar.get("SMTP_PASS"),
ssl: false,
tls: :always,
retries: 10,
tls_options: [
verify: :verify_peer,
cacerts: :public_key.cacerts_get(),
server_name_indication: String.to_charlist(Envar.get("SERVER_NAME_INDICATION") || ~c"#{Envar.get("SERVER_NAME_INDICATION")}"),
depth: 99
]
"ssl" ->
config :api, Api.Mailer,
adapter: Swoosh.Adapters.SMTP,
relay: Envar.get("SMTP_RELAY"),
username: Envar.get("SMTP_USER"),
password: Envar.get("SMTP_PASS"),
auth: :always,
ssl: true,
port: String.to_integer(Envar.get("SMTP_PORT")) || Envar.get("SMTP_PORT"),
retries: 10,
sockopts: [
versions: [:"tlsv1.2"],
verify: :verify_peer,
cacerts: :public_key.cacerts_get(),
depth: 3,
customize_hostname_check: [
match_fun: :public_key.pkix_verify_hostname_match_fun(:https)
],
server_name_indication: Envar.get("SERVER_NAME_INDICATION")
]
_ -> nil
end