ソースを参照

Add a registration email that only sends if no other emails (welcome, approval, confirmation) are enabled

youtube-fix
Mark Felder 3年前
コミット
e945ccc91b
2個のファイルの変更32行の追加0行の削除
  1. +14
    -0
      lib/pleroma/emails/user_email.ex
  2. +18
    -0
      lib/pleroma/user.ex

+ 14
- 0
lib/pleroma/emails/user_email.ex ファイルの表示

@@ -106,6 +106,20 @@ defmodule Pleroma.Emails.UserEmail do
|> html_body(html_body)
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 """
Email used in digest email notifications
Includes Mentions and New Followers data


+ 18
- 0
lib/pleroma/user.ex ファイルの表示

@@ -814,6 +814,7 @@ defmodule Pleroma.User do
with {:ok, user} <- autofollow_users(user),
{:ok, _} <- autofollowing_users(user),
{:ok, user} <- set_cache(user),
{:ok, _} <- maybe_send_registration_email(user),
{:ok, _} <- maybe_send_welcome_email(user),
{:ok, _} <- maybe_send_welcome_message(user),
{:ok, _} <- maybe_send_welcome_chat_message(user) do
@@ -892,6 +893,23 @@ defmodule Pleroma.User do
user
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: false, last_refreshed_at: nil}), do: true


読み込み中…
キャンセル
保存