๐งEmails
Open up email.ex
and you will see a list of functions that generate Swoosh email structs. Eg:
def confirm_register_email(email, url) do
base_email()
|> to(email)
|> subject("Confirm instructions")
|> render_body("confirm_register_email.html", %{url: url})
|> premail()
end
If I run this function in IEX I can see the Swoosh struct:

An Swoosh.Email
struct can be delivered to an email address by a Swoosh mailer (see mailer.ex
). Eg:
Remindly.Email.confirm_register_email(user.email, url)
|> Remindly.Mailer.deliver()
So email.ex
creates the Swoosh structs and the functions for actually delivering emails like the previous code example are in user_notifier.ex
. Think of email.ex
functions like view templates, and user_notifer.ex
functions like controller actions.
So the steps to creating a new email will be:
Create the function to generate a Swoosh struct in
email.ex
Ensure it looks good by navigating to "http://localhost:4000/dev/emails" and creating a new action in
email_testing_controller.ex
that simply renders the html_body value of the structCreate a new
user_notifier.ex
function for use in our application
To see a more detailed write up on creating an email - see this section in the "Complete web app" guide.
Last updated
Was this helpful?