api-v2/lib/user_email.ex
2025-04-16 10:03:13 -03:00

38 lines
1.2 KiB
Elixir

defmodule Api.UserEmailMailer do
import Swoosh.Email
alias Api.Repo
def encrypt_json(json) do
query = "select encrypt('#{json}'::bytea, '1nf0rm3', 'aes')::text"
token = Repo.query!(query).rows |> hd() |> hd()
Base.encode64(token)
end
def send_email(studydata) do
Envar.load(".env")
Envar.require_env_file(".env")
json = studydata.json
json = Jason.encode!(json)
encrypted_hash = encrypt_json(json)
lLink = "https://estudio.informemedico.com.ar/#/#{studydata.idsite}/#{encrypted_hash}"
body = """
<p> A continuación podrá acceder al informe del estudio que se realizó el #{studydata.lStudyDate} en #{studydata.lSiteName}.</p>
<p>Para visualizarlo ingrese <a href="#{lLink}">aquí</a> o copie el siguiente link en su navegador: (requiere Google Chrome, Firefox, Internet Explorer 9 o superior).</p><br>
<a href="#{lLink}">#{lLink}</a><br><br>
Atentamente,<br>#{studydata.name}<br>
<p>Mensaje enviado por: #{studydata.fromEmail}</p>
"""
email = new()
|> to({studydata.name, studydata.email})
|> from({Envar.get("FROM"), Envar.get("SMTP_USER")})
|> subject("Mensaje de Paciente: #{studydata.name}")
|> html_body(body)
email
end
end