80 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
defmodule <%= inspect context.module %>.<%= inspect schema.alias %>Notifier do
 | 
						|
  import Swoosh.Email
 | 
						|
 | 
						|
  alias <%= inspect context.base_module %>.Mailer
 | 
						|
 | 
						|
  # Delivers the email using the application mailer.
 | 
						|
  defp deliver(recipient, subject, body) do
 | 
						|
    email =
 | 
						|
      new()
 | 
						|
      |> to(recipient)
 | 
						|
      |> from({"<%= inspect context.base_module %>", "contact@example.com"})
 | 
						|
      |> subject(subject)
 | 
						|
      |> text_body(body)
 | 
						|
 | 
						|
    with {:ok, _metadata} <- Mailer.deliver(email) do
 | 
						|
      {:ok, email}
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  @doc """
 | 
						|
  Deliver instructions to confirm account.
 | 
						|
  """
 | 
						|
  def deliver_confirmation_instructions(<%= schema.singular %>, url) do
 | 
						|
    deliver(<%= schema.singular %>.email, "Confirmation instructions", """
 | 
						|
 | 
						|
    ==============================
 | 
						|
 | 
						|
    Hi #{<%= schema.singular %>.email},
 | 
						|
 | 
						|
    You can confirm your account by visiting the URL below:
 | 
						|
 | 
						|
    #{url}
 | 
						|
 | 
						|
    If you didn't create an account with us, please ignore this.
 | 
						|
 | 
						|
    ==============================
 | 
						|
    """)
 | 
						|
  end
 | 
						|
 | 
						|
  @doc """
 | 
						|
  Deliver instructions to reset a <%= schema.singular %> password.
 | 
						|
  """
 | 
						|
  def deliver_reset_password_instructions(<%= schema.singular %>, url) do
 | 
						|
    deliver(<%= schema.singular %>.email, "Reset password instructions", """
 | 
						|
 | 
						|
    ==============================
 | 
						|
 | 
						|
    Hi #{<%= schema.singular %>.email},
 | 
						|
 | 
						|
    You can reset your password by visiting the URL below:
 | 
						|
 | 
						|
    #{url}
 | 
						|
 | 
						|
    If you didn't request this change, please ignore this.
 | 
						|
 | 
						|
    ==============================
 | 
						|
    """)
 | 
						|
  end
 | 
						|
 | 
						|
  @doc """
 | 
						|
  Deliver instructions to update a <%= schema.singular %> email.
 | 
						|
  """
 | 
						|
  def deliver_update_email_instructions(<%= schema.singular %>, url) do
 | 
						|
    deliver(<%= schema.singular %>.email, "Update email instructions", """
 | 
						|
 | 
						|
    ==============================
 | 
						|
 | 
						|
    Hi #{<%= schema.singular %>.email},
 | 
						|
 | 
						|
    You can change your email by visiting the URL below:
 | 
						|
 | 
						|
    #{url}
 | 
						|
 | 
						|
    If you didn't request this change, please ignore this.
 | 
						|
 | 
						|
    ==============================
 | 
						|
    """)
 | 
						|
  end
 | 
						|
end
 |