26 lines
710 B
Elixir
26 lines
710 B
Elixir
defmodule AuthWeb.Pow.Mailer do
|
|
@moduledoc """
|
|
Mailer module for Pow which links it to our well-styled defaults.
|
|
"""
|
|
use Pow.Phoenix.Mailer
|
|
|
|
import Bamboo.Email
|
|
use Bamboo.Phoenix, view: AuthWeb.EmailView
|
|
|
|
@impl true
|
|
def cast(%{user: user, subject: subject, text: text, html: html}) do
|
|
CoreEmail.base_email()
|
|
|> to(user.email)
|
|
|> subject(subject)
|
|
|> render(:pow_mail, html_body: html, text_body: text)
|
|
end
|
|
|
|
@impl true
|
|
def process(email) do
|
|
# An asynchronous process should be used here to prevent enumeration
|
|
# attacks. Synchronous e-mail delivery can reveal whether a user already
|
|
# exists in the system or not.
|
|
|
|
CoreMailer.deliver_later(email)
|
|
end
|
|
end
|