38 lines
1.2 KiB
Elixir
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
|