[#1149] Bugfix: Pleroma.Workers.Subscriber / "verify_websub" works with WebsubServerS...
[akkoma] / lib / pleroma / workers / mailer.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Workers.Mailer do
6 alias Pleroma.User
7
8 # Note: `max_attempts` is intended to be overridden in `new/1` call
9 use Oban.Worker,
10 queue: "mailer",
11 max_attempts: 1
12
13 @impl Oban.Worker
14 def perform(%{"op" => "email", "encoded_email" => encoded_email, "config" => config}, _job) do
15 email =
16 encoded_email
17 |> Base.decode64!()
18 |> :erlang.binary_to_term()
19
20 Pleroma.Emails.Mailer.deliver(email, config)
21 end
22
23 def perform(%{"op" => "digest_email", "user_id" => user_id}, _job) do
24 user = User.get_by_id(user_id)
25 Pleroma.DigestEmailWorker.perform(user)
26 end
27 end