defmodule Haytni.RecoverableEmail do import Haytni.Mail import Bamboo.Email import Haytni.Gettext @doc ~S""" Email the recovery password token to *user* """ @spec reset_password_email(user :: Haytni.user, reset_password_token :: String.t, module :: module, config :: Haytni.config) :: Bamboo.Email.t def reset_password_email(user = %_{}, reset_password_token, module, _config) do new_email() |> to(user.email) |> assign(:user, user) |> assign(:reset_password_token, reset_password_token) |> from(module.mailer().from()) |> subject(dgettext("haytni", "Reset password instructions")) |> put_view(module, "Email.RecoverableView") |> put_text_template("reset_password_instructions.text") |> put_html_template("reset_password_instructions.html") end end