mirror of
https://github.com/plausible/analytics.git
synced 2024-11-23 03:04:43 +03:00
Change SMTP defaults (#4538)
* default smtp config updates * tests * improve SMTP_MIDDLEBOX_COMP_MODE decoding * changelog * format --------- Co-authored-by: Adrian Gruntkowski <adrian.gruntkowski@gmail.com>
This commit is contained in:
parent
4864a2c30e
commit
67d7c6522c
@ -128,6 +128,8 @@ All notable changes to this project will be documented in this file.
|
|||||||
- Replace `CLICKHOUSE_MAX_BUFFER_SIZE` with `CLICKHOUSE_MAX_BUFFER_SIZE_BYTES`
|
- Replace `CLICKHOUSE_MAX_BUFFER_SIZE` with `CLICKHOUSE_MAX_BUFFER_SIZE_BYTES`
|
||||||
- Validate metric isn't queried multiple times
|
- Validate metric isn't queried multiple times
|
||||||
- Filters in dashboard are represented by jsonurl
|
- Filters in dashboard are represented by jsonurl
|
||||||
|
- `MAILER_EMAIL` now defaults to an address built off of `BASE_URL` plausible/analytics#4538
|
||||||
|
- default `MAILER_ADAPTER` has been changed to `Bamboo.Mua` plausible/analytics#4538
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- Creating many sites no longer leads to cookie overflow
|
- Creating many sites no longer leads to cookie overflow
|
||||||
|
@ -99,8 +99,8 @@ super_admin_user_ids =
|
|||||||
|> Enum.filter(& &1)
|
|> Enum.filter(& &1)
|
||||||
|
|
||||||
env = get_var_from_path_or_env(config_dir, "ENVIRONMENT", "prod")
|
env = get_var_from_path_or_env(config_dir, "ENVIRONMENT", "prod")
|
||||||
mailer_adapter = get_var_from_path_or_env(config_dir, "MAILER_ADAPTER", "Bamboo.SMTPAdapter")
|
mailer_adapter = get_var_from_path_or_env(config_dir, "MAILER_ADAPTER", "Bamboo.Mua")
|
||||||
mailer_email = get_var_from_path_or_env(config_dir, "MAILER_EMAIL", "hello@plausible.local")
|
mailer_email = get_var_from_path_or_env(config_dir, "MAILER_EMAIL", "plausible@#{base_url.host}")
|
||||||
|
|
||||||
mailer_email =
|
mailer_email =
|
||||||
if mailer_name = get_var_from_path_or_env(config_dir, "MAILER_NAME") do
|
if mailer_name = get_var_from_path_or_env(config_dir, "MAILER_NAME") do
|
||||||
@ -536,6 +536,13 @@ case mailer_adapter do
|
|||||||
"Bamboo.Mua" ->
|
"Bamboo.Mua" ->
|
||||||
config :plausible, Plausible.Mailer, adapter: Bamboo.Mua
|
config :plausible, Plausible.Mailer, adapter: Bamboo.Mua
|
||||||
|
|
||||||
|
# prevents common problems with Erlang's TLS v1.3
|
||||||
|
middlebox_comp_mode =
|
||||||
|
get_var_from_path_or_env(config_dir, "SMTP_MIDDLEBOX_COMP_MODE", "false")
|
||||||
|
|
||||||
|
middlebox_comp_mode = String.to_existing_atom(middlebox_comp_mode)
|
||||||
|
config :plausible, Plausible.Mailer, ssl: [middlebox_comp_mode: middlebox_comp_mode]
|
||||||
|
|
||||||
if relay = get_var_from_path_or_env(config_dir, "SMTP_HOST_ADDR") do
|
if relay = get_var_from_path_or_env(config_dir, "SMTP_HOST_ADDR") do
|
||||||
port = get_int_from_path_or_env(config_dir, "SMTP_HOST_PORT", 25)
|
port = get_int_from_path_or_env(config_dir, "SMTP_HOST_PORT", 25)
|
||||||
config :plausible, Plausible.Mailer, relay: relay, port: port
|
config :plausible, Plausible.Mailer, relay: relay, port: port
|
||||||
|
@ -4,7 +4,14 @@ defmodule Plausible.ConfigTest do
|
|||||||
describe "mailer" do
|
describe "mailer" do
|
||||||
test "mailer email default" do
|
test "mailer email default" do
|
||||||
env = [{"MAILER_EMAIL", nil}]
|
env = [{"MAILER_EMAIL", nil}]
|
||||||
assert get_in(runtime_config(env), [:plausible, :mailer_email]) == "hello@plausible.local"
|
assert get_in(runtime_config(env), [:plausible, :mailer_email]) == "plausible@localhost"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "mailer email from base url" do
|
||||||
|
env = [{"MAILER_EMAIL", nil}, {"BASE_URL", "https://plausible.example.com:8443"}]
|
||||||
|
|
||||||
|
assert get_in(runtime_config(env), [:plausible, :mailer_email]) ==
|
||||||
|
"plausible@plausible.example.com"
|
||||||
end
|
end
|
||||||
|
|
||||||
test "mailer email custom" do
|
test "mailer email custom" do
|
||||||
@ -16,7 +23,7 @@ defmodule Plausible.ConfigTest do
|
|||||||
env = [{"MAILER_EMAIL", nil}, {"MAILER_NAME", "John"}]
|
env = [{"MAILER_EMAIL", nil}, {"MAILER_NAME", "John"}]
|
||||||
|
|
||||||
assert get_in(runtime_config(env), [:plausible, :mailer_email]) ==
|
assert get_in(runtime_config(env), [:plausible, :mailer_email]) ==
|
||||||
{"John", "hello@plausible.local"}
|
{"John", "plausible@localhost"}
|
||||||
|
|
||||||
env = [{"MAILER_EMAIL", "custom@mailer.email"}, {"MAILER_NAME", "John"}]
|
env = [{"MAILER_EMAIL", "custom@mailer.email"}, {"MAILER_NAME", "John"}]
|
||||||
|
|
||||||
@ -24,21 +31,12 @@ defmodule Plausible.ConfigTest do
|
|||||||
{"John", "custom@mailer.email"}
|
{"John", "custom@mailer.email"}
|
||||||
end
|
end
|
||||||
|
|
||||||
test "defaults to Bamboo.SMTPAdapter" do
|
test "defaults to Bamboo.Mua" do
|
||||||
env = {"MAILER_ADAPTER", nil}
|
env = {"MAILER_ADAPTER", nil}
|
||||||
|
|
||||||
assert get_in(runtime_config(env), [:plausible, Plausible.Mailer]) == [
|
assert get_in(runtime_config(env), [:plausible, Plausible.Mailer]) == [
|
||||||
adapter: Bamboo.SMTPAdapter,
|
adapter: Bamboo.Mua,
|
||||||
server: "mail",
|
ssl: [middlebox_comp_mode: false]
|
||||||
hostname: "localhost",
|
|
||||||
port: "25",
|
|
||||||
username: nil,
|
|
||||||
password: nil,
|
|
||||||
tls: :if_available,
|
|
||||||
allowed_tls_versions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"],
|
|
||||||
ssl: false,
|
|
||||||
retries: 2,
|
|
||||||
no_mx_lookups: true
|
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -144,7 +142,17 @@ defmodule Plausible.ConfigTest do
|
|||||||
env = [{"MAILER_ADAPTER", "Bamboo.Mua"}]
|
env = [{"MAILER_ADAPTER", "Bamboo.Mua"}]
|
||||||
|
|
||||||
assert get_in(runtime_config(env), [:plausible, Plausible.Mailer]) == [
|
assert get_in(runtime_config(env), [:plausible, Plausible.Mailer]) == [
|
||||||
{:adapter, Bamboo.Mua}
|
{:adapter, Bamboo.Mua},
|
||||||
|
{:ssl, [middlebox_comp_mode: false]}
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
test "Bamboo.Mua (middlebox_comp_mode enabled)" do
|
||||||
|
env = [{"MAILER_ADAPTER", "Bamboo.Mua"}, {"SMTP_MIDDLEBOX_COMP_MODE", "true"}]
|
||||||
|
|
||||||
|
assert get_in(runtime_config(env), [:plausible, Plausible.Mailer]) == [
|
||||||
|
{:adapter, Bamboo.Mua},
|
||||||
|
{:ssl, [middlebox_comp_mode: true]}
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -159,6 +167,7 @@ defmodule Plausible.ConfigTest do
|
|||||||
|
|
||||||
assert get_in(runtime_config(env), [:plausible, Plausible.Mailer]) == [
|
assert get_in(runtime_config(env), [:plausible, Plausible.Mailer]) == [
|
||||||
{:adapter, Bamboo.Mua},
|
{:adapter, Bamboo.Mua},
|
||||||
|
{:ssl, [middlebox_comp_mode: false]},
|
||||||
{:relay, "localhost"},
|
{:relay, "localhost"},
|
||||||
{:port, 2525},
|
{:port, 2525},
|
||||||
{:auth, [username: "neo", password: "one"]}
|
{:auth, [username: "neo", password: "one"]}
|
||||||
@ -176,6 +185,7 @@ defmodule Plausible.ConfigTest do
|
|||||||
|
|
||||||
assert get_in(runtime_config(env), [:plausible, Plausible.Mailer]) == [
|
assert get_in(runtime_config(env), [:plausible, Plausible.Mailer]) == [
|
||||||
adapter: Bamboo.Mua,
|
adapter: Bamboo.Mua,
|
||||||
|
ssl: [middlebox_comp_mode: false],
|
||||||
relay: "localhost",
|
relay: "localhost",
|
||||||
port: 2525
|
port: 2525
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user