mirror of
https://akkoma.dev/AkkomaGang/akkoma.git
synced 2024-12-23 17:54:22 +00:00
[#114] Added /dev/mailbox dev-only route (emails preview). Added mailer config examples.
This commit is contained in:
parent
10c156d98f
commit
12905ce1ad
|
@ -30,6 +30,31 @@ This filter replaces the filename (not the path) of an upload. For complete obfu
|
||||||
|
|
||||||
* `text`: Text to replace filenames in links. If empty, `{random}.extension` will be used.
|
* `text`: Text to replace filenames in links. If empty, `{random}.extension` will be used.
|
||||||
|
|
||||||
|
## Pleroma.Mailer
|
||||||
|
* `adapter`: one of the mail adapters listed in [Swoosh readme](https://github.com/swoosh/swoosh#adapters), or `Swoosh.Adapters.Local` for in-memory mailbox.
|
||||||
|
* `api_key` / `password` and / or other adapter-specific settings, per the above documentation.
|
||||||
|
|
||||||
|
An example for Sendgrid adapter:
|
||||||
|
|
||||||
|
```
|
||||||
|
config :pleroma, Pleroma.Mailer,
|
||||||
|
adapter: Swoosh.Adapters.Sendgrid,
|
||||||
|
api_key: "YOUR_API_KEY"
|
||||||
|
```
|
||||||
|
|
||||||
|
An example for SMTP adapter:
|
||||||
|
```
|
||||||
|
config :pleroma, Pleroma.Mailer,
|
||||||
|
adapter: Swoosh.Adapters.SMTP,
|
||||||
|
relay: "smtp.gmail.com",
|
||||||
|
username: "YOUR_USERNAME@gmail.com",
|
||||||
|
password: "YOUR_SMTP_PASSWORD",
|
||||||
|
port: 465,
|
||||||
|
ssl: true,
|
||||||
|
tls: :always,
|
||||||
|
auth: :always
|
||||||
|
```
|
||||||
|
|
||||||
## :uri_schemes
|
## :uri_schemes
|
||||||
* `valid_schemes`: List of the scheme part that is considered valid to be an URL
|
* `valid_schemes`: List of the scheme part that is considered valid to be an URL
|
||||||
|
|
||||||
|
|
|
@ -17,47 +17,6 @@ config :pleroma, Pleroma.Web.Endpoint,
|
||||||
http: [port: 4000],
|
http: [port: 4000],
|
||||||
protocol: "http"
|
protocol: "http"
|
||||||
|
|
||||||
# Supported adapters: https://github.com/swoosh/swoosh#adapters
|
|
||||||
mailer_settings =
|
|
||||||
case String.downcase(System.get_env("PLEROMA_SWOOSH_ADAPTER") || "") do
|
|
||||||
"mailgun" ->
|
|
||||||
[
|
|
||||||
adapter: Swoosh.Adapters.Mailgun,
|
|
||||||
api_key: System.get_env("PLEROMA_MAILGUN_API_KEY"),
|
|
||||||
domain: System.get_env("PLEROMA_MAILGUN_DOMAIN")
|
|
||||||
]
|
|
||||||
|
|
||||||
"mandrill" ->
|
|
||||||
[
|
|
||||||
adapter: Swoosh.Adapters.Mandrill,
|
|
||||||
api_key: System.get_env("PLEROMA_MANDRILL_API_KEY")
|
|
||||||
]
|
|
||||||
|
|
||||||
"sendgrid" ->
|
|
||||||
[
|
|
||||||
adapter: Swoosh.Adapters.Sendgrid,
|
|
||||||
api_key: System.get_env("PLEROMA_SENDGRID_API_KEY")
|
|
||||||
]
|
|
||||||
|
|
||||||
"smtp" ->
|
|
||||||
[
|
|
||||||
adapter: Swoosh.Adapters.SMTP,
|
|
||||||
relay: System.get_env("PLEROMA_SMTP_RELAY"),
|
|
||||||
username: System.get_env("PLEROMA_SMTP_USERNAME"),
|
|
||||||
password: System.get_env("PLEROMA_SMTP_PASSWORD"),
|
|
||||||
port: System.get_env("PLEROMA_SMTP_PORT") || 1025,
|
|
||||||
ssl: true,
|
|
||||||
tls: :always,
|
|
||||||
auth: :always,
|
|
||||||
retries: 3
|
|
||||||
]
|
|
||||||
|
|
||||||
_ ->
|
|
||||||
[adapter: Swoosh.Adapters.Local]
|
|
||||||
end
|
|
||||||
|
|
||||||
config :pleroma, Pleroma.Mailer, mailer_settings
|
|
||||||
|
|
||||||
# Do not print debug messages in production
|
# Do not print debug messages in production
|
||||||
config :logger, level: :info
|
config :logger, level: :info
|
||||||
|
|
||||||
|
|
|
@ -85,6 +85,15 @@ defmodule Pleroma.Web.Router do
|
||||||
plug(:accepts, ["html", "json"])
|
plug(:accepts, ["html", "json"])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
pipeline :mailbox_preview do
|
||||||
|
plug(:accepts, ["html"])
|
||||||
|
|
||||||
|
plug(:put_secure_browser_headers, %{
|
||||||
|
"content-security-policy" =>
|
||||||
|
"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' 'unsafe-eval'"
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
scope "/api/pleroma", Pleroma.Web.TwitterAPI do
|
scope "/api/pleroma", Pleroma.Web.TwitterAPI do
|
||||||
pipe_through(:pleroma_api)
|
pipe_through(:pleroma_api)
|
||||||
get("/password_reset/:token", UtilController, :show_password_reset)
|
get("/password_reset/:token", UtilController, :show_password_reset)
|
||||||
|
@ -268,6 +277,7 @@ defmodule Pleroma.Web.Router do
|
||||||
get("/statusnet/conversation/:id", TwitterAPI.Controller, :fetch_conversation)
|
get("/statusnet/conversation/:id", TwitterAPI.Controller, :fetch_conversation)
|
||||||
|
|
||||||
post("/account/register", TwitterAPI.Controller, :register)
|
post("/account/register", TwitterAPI.Controller, :register)
|
||||||
|
post("/account/reset_password", TwitterAPI.Controller, :reset_password)
|
||||||
|
|
||||||
get("/search", TwitterAPI.Controller, :search)
|
get("/search", TwitterAPI.Controller, :search)
|
||||||
get("/statusnet/tags/timeline/:tag", TwitterAPI.Controller, :public_and_external_timeline)
|
get("/statusnet/tags/timeline/:tag", TwitterAPI.Controller, :public_and_external_timeline)
|
||||||
|
@ -424,6 +434,14 @@ defmodule Pleroma.Web.Router do
|
||||||
get("/:sig/:url/:filename", MediaProxyController, :remote)
|
get("/:sig/:url/:filename", MediaProxyController, :remote)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if Mix.env() == :dev do
|
||||||
|
scope "/dev" do
|
||||||
|
pipe_through([:mailbox_preview])
|
||||||
|
|
||||||
|
forward("/mailbox", Plug.Swoosh.MailboxPreview, base_path: "/dev/mailbox")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
scope "/", Fallback do
|
scope "/", Fallback do
|
||||||
get("/registration/:token", RedirectController, :registration_page)
|
get("/registration/:token", RedirectController, :registration_page)
|
||||||
get("/*path", RedirectController, :redirector)
|
get("/*path", RedirectController, :redirector)
|
||||||
|
|
Loading…
Reference in a new issue