mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-12-23 00:26:30 +00:00
Add a registration email that only sends if no other emails (welcome, approval, confirmation) are enabled
This commit is contained in:
parent
2956c21a55
commit
e945ccc91b
2 changed files with 32 additions and 0 deletions
|
@ -106,6 +106,20 @@ defmodule Pleroma.Emails.UserEmail do
|
||||||
|> html_body(html_body)
|
|> html_body(html_body)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def successful_registration_email(user) do
|
||||||
|
html_body = """
|
||||||
|
<h3>Hello @#{user.nickname}</h3>
|
||||||
|
<p>Your account at #{instance_name()} has been registered successfully.</p>
|
||||||
|
<p>No further action is required to activate your account.</p>
|
||||||
|
"""
|
||||||
|
|
||||||
|
new()
|
||||||
|
|> to(recipient(user))
|
||||||
|
|> from(sender())
|
||||||
|
|> subject("Account registered on #{instance_name()}")
|
||||||
|
|> html_body(html_body)
|
||||||
|
end
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Email used in digest email notifications
|
Email used in digest email notifications
|
||||||
Includes Mentions and New Followers data
|
Includes Mentions and New Followers data
|
||||||
|
|
|
@ -814,6 +814,7 @@ defmodule Pleroma.User do
|
||||||
with {:ok, user} <- autofollow_users(user),
|
with {:ok, user} <- autofollow_users(user),
|
||||||
{:ok, _} <- autofollowing_users(user),
|
{:ok, _} <- autofollowing_users(user),
|
||||||
{:ok, user} <- set_cache(user),
|
{:ok, user} <- set_cache(user),
|
||||||
|
{:ok, _} <- maybe_send_registration_email(user),
|
||||||
{:ok, _} <- maybe_send_welcome_email(user),
|
{:ok, _} <- maybe_send_welcome_email(user),
|
||||||
{:ok, _} <- maybe_send_welcome_message(user),
|
{:ok, _} <- maybe_send_welcome_message(user),
|
||||||
{:ok, _} <- maybe_send_welcome_chat_message(user) do
|
{:ok, _} <- maybe_send_welcome_chat_message(user) do
|
||||||
|
@ -892,6 +893,23 @@ defmodule Pleroma.User do
|
||||||
user
|
user
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@spec maybe_send_registration_email(User.t()) :: {:ok, :enqueued | :noop}
|
||||||
|
defp maybe_send_registration_email(%User{email: email} = user) when is_binary(email) do
|
||||||
|
with false <- User.WelcomeEmail.enabled?(),
|
||||||
|
false <- Config.get([:instance, :account_activation_required], false),
|
||||||
|
false <- Config.get([:instance, :account_approval_required], false) do
|
||||||
|
user
|
||||||
|
|> Pleroma.Emails.UserEmail.successful_registration_email()
|
||||||
|
|
||||||
|
{:ok, :enqueued}
|
||||||
|
else
|
||||||
|
_ ->
|
||||||
|
{:ok, :noop}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
defp maybe_send_registration_email(_), do: {:ok, :noop}
|
||||||
|
|
||||||
def needs_update?(%User{local: true}), do: false
|
def needs_update?(%User{local: true}), do: false
|
||||||
|
|
||||||
def needs_update?(%User{local: false, last_refreshed_at: nil}), do: true
|
def needs_update?(%User{local: false, last_refreshed_at: nil}), do: true
|
||||||
|
|
Loading…
Reference in a new issue