Packages
swoosh
1.17.2
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.
Security advisory:
This version has known vulnerabilities.
View advisories
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 = local_children() ++ mailbox_children()
opts = [strategy: :one_for_one, name: Swoosh.Supervisor]
Supervisor.start_link(children, opts)
end
defp local_children do
if Application.get_env(:swoosh, :local, true) do
[Swoosh.Adapters.Local.Storage.Manager]
else
[]
end
end
cond do
Code.ensure_loaded?(Plug.Cowboy) ->
defp mailbox_children 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]
)
]
else
[]
end
end
Code.ensure_loaded?(Bandit) ->
defp mailbox_children do
if Application.get_env(:swoosh, :serve_mailbox) do
{:ok, _} = Application.ensure_all_started(:bandit)
port = Application.get_env(:swoosh, :preview_port, 4000)
Logger.info(
"Running Swoosh mailbox preview server with Bandit using http on port #{port}"
)
[Bandit.child_spec(plug: Plug.Swoosh.MailboxPreview, port: port)]
else
[]
end
end
true ->
defp mailbox_children do
if Application.get_env(:swoosh, :serve_mailbox) do
Logger.warning("""
Could not start preview server.
Please add :plug_cowboy to your dependencies:
{:plug_cowboy, ">= 1.0.0"}
""")
end
[]
end
end
end