Packages
swoosh
1.7.0
1.26.3
1.26.2
1.26.1
1.26.0
1.25.3
1.25.2
1.25.1
1.25.0
1.24.0
1.23.1
1.23.0
1.22.1
1.22.0
1.21.0
1.20.1
1.20.0
1.19.9
1.19.8
1.19.7
1.19.6
1.19.5
1.19.4
1.19.3
1.19.2
1.19.1
1.19.0
1.18.4
1.18.3
1.18.2
1.18.1
1.18.0
1.17.10
1.17.9
1.17.8
retired
1.17.7
retired
1.17.6
1.17.5
1.17.4
retired
1.17.3
1.17.2
1.17.1
1.17.0
1.16.12
1.16.11
1.16.10
1.16.9
1.16.8
1.16.7
1.16.6
1.16.5
1.16.4
1.16.3
1.16.2
retired
1.16.1
retired
1.16.0
1.15.3
1.15.2
1.15.1
1.15.0
1.14.4
1.14.3
1.14.2
1.14.1
1.14.0
1.13.0
1.12.0
1.11.6
1.11.5
1.11.4
1.11.3
1.11.2
1.11.1
retired
1.11.0
1.10.3
1.10.2
1.10.1
1.10.0
1.9.1
1.9.0
1.8.3
1.8.2
1.8.1
1.8.0
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.2
1.5.1
1.5.0
1.4.0
1.3.11
1.3.10
1.3.9
1.3.8
retired
1.3.7
1.3.6
retired
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.2
1.2.1
1.2.0
1.1.2
1.1.1
1.1.0
1.0.9
1.0.8
retired
1.0.7
retired
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.25.6
0.25.5
0.25.4
0.25.3
retired
0.25.2
0.25.1
0.25.0
0.24.4
0.24.3
0.24.2
0.24.1
0.24.0
0.23.5
0.23.4
0.23.3
0.23.2
0.23.1
0.23.0
0.22.2
0.22.1
0.22.0
0.21.1
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.1
0.16.0
0.15.0
0.14.0
0.13.0
0.12.1
0.12.0
0.11.0
0.10.0
0.9.1
0.9.0
0.8.1
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
Compose, deliver and test your emails easily in Elixir. Supports SMTP, Sendgrid, Mandrill, Postmark, Mailgun and many more out of the box. Preview your emails in the browser. Test your email sending code.
Current section
Files
Jump to
Current section
Files
lib/swoosh/application.ex
defmodule Swoosh.Application do
use Application
require Logger
def start(_type, _args) do
Swoosh.ApiClient.init()
children =
[]
|> runtime_children(:local)
|> runtime_children(:serve_mailbox)
opts = [strategy: :one_for_one, name: Swoosh.Supervisor]
Supervisor.start_link(children, opts)
end
defp runtime_children(children, :local) do
if Application.get_env(:swoosh, :local, true) do
[Swoosh.Adapters.Local.Storage.Memory | children]
else
children
end
end
if Code.ensure_loaded?(Plug.Cowboy) do
defp runtime_children(children, :serve_mailbox) do
if Application.get_env(:swoosh, :serve_mailbox) do
{:ok, _} = Application.ensure_all_started(:plug_cowboy)
port = Application.get_env(:swoosh, :preview_port, 4000)
Logger.info(
"Running Swoosh mailbox preview server with Cowboy using http on port #{port}"
)
[
Plug.Cowboy.child_spec(
scheme: :http,
plug: Plug.Swoosh.MailboxPreview,
options: [port: port]
)
| children
]
else
children
end
end
else
defp runtime_children(children, :serve_mailbox) do
if Application.get_env(:swoosh, :serve_mailbox) do
Logger.warn("""
Could not start preview server.
Please add :plug_cowboy to your dependencies:
{:plug_cowboy, ">= 1.0.0"}
And then recompile swoosh:
mix deps.get
mix deps.clean --build swoosh
mix deps.compile swoosh
""")
end
children
end
end
end