You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
defmodule Asciinema.Email do
|
|
|
|
use Bamboo.Phoenix, view: AsciinemaWeb.EmailView
|
|
|
|
import Bamboo.Email
|
|
|
|
|
|
|
|
def signup_email(email_address, signup_url) do
|
|
|
|
base_email()
|
|
|
|
|> to(email_address)
|
|
|
|
|> subject("Welcome to #{instance_hostname()}")
|
|
|
|
|> render("signup.text", signup_url: signup_url)
|
|
|
|
end
|
|
|
|
|
|
|
|
def login_email(email_address, login_url) do
|
|
|
|
base_email()
|
|
|
|
|> to(email_address)
|
|
|
|
|> subject("Login request")
|
|
|
|
|> render("login.text", login_url: login_url)
|
|
|
|
end
|
|
|
|
|
|
|
|
defp base_email do
|
|
|
|
new_email()
|
|
|
|
|> from({"asciinema", from_address()})
|
|
|
|
|> put_header("Reply-To", reply_to_address())
|
|
|
|
end
|
|
|
|
|
|
|
|
defp from_address do
|
|
|
|
System.get_env("SMTP_FROM_ADDRESS") || "hello@#{instance_hostname()}"
|
|
|
|
end
|
|
|
|
|
|
|
|
defp reply_to_address do
|
|
|
|
System.get_env("SMTP_REPLY_TO_ADDRESS") || "support@asciinema.org"
|
|
|
|
end
|
|
|
|
|
|
|
|
defp instance_hostname do
|
|
|
|
System.get_env("URL_HOST") || "asciinema.org"
|
|
|
|
end
|
|
|
|
end
|