logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

email.ex (1125B)


  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Mix.Tasks.Pleroma.Email do
  5. use Mix.Task
  6. import Mix.Pleroma
  7. @shortdoc "Email administrative tasks"
  8. @moduledoc File.read!("docs/administration/CLI_tasks/email.md")
  9. def run(["test" | args]) do
  10. start_pleroma()
  11. {options, [], []} =
  12. OptionParser.parse(
  13. args,
  14. strict: [
  15. to: :string
  16. ]
  17. )
  18. email = Pleroma.Emails.AdminEmail.test_email(options[:to])
  19. {:ok, _} = Pleroma.Emails.Mailer.deliver(email)
  20. shell_info("Test email has been sent to #{inspect(email.to)} from #{inspect(email.from)}")
  21. end
  22. def run(["resend_confirmation_emails"]) do
  23. start_pleroma()
  24. shell_info("Sending emails to all unconfirmed users")
  25. Pleroma.User.Query.build(%{
  26. local: true,
  27. is_active: true,
  28. is_confirmed: false,
  29. invisible: false
  30. })
  31. |> Pleroma.Repo.chunk_stream(500)
  32. |> Stream.each(&Pleroma.User.maybe_send_confirmation_email(&1))
  33. |> Stream.run()
  34. end
  35. end