diff options
author | lain <lain@soykaf.club> | 2020-01-28 16:42:57 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-01-28 16:42:57 +0000 |
commit | 12b6fcdb8c8c65311d1a13976dfe8d027bdcd168 (patch) | |
tree | 0028c98cb7931305ffcc23880d43eaf247d24feb /lib | |
parent | 2c121b26236ea22d339af13243dc188262ace105 (diff) | |
parent | 4eb935be78eeaf1decb7fc109cec09ca18d82854 (diff) | |
download | pleroma-12b6fcdb8c8c65311d1a13976dfe8d027bdcd168.tar.gz |
Merge branch 'features/task-test-email' into 'develop'
Create pleroma.email mix task
Closes #1061
See merge request pleroma/pleroma!2118
Diffstat (limited to 'lib')
-rw-r--r-- | lib/mix/tasks/pleroma/email.ex | 25 | ||||
-rw-r--r-- | lib/pleroma/emails/admin_email.ex | 14 |
2 files changed, 39 insertions, 0 deletions
diff --git a/lib/mix/tasks/pleroma/email.ex b/lib/mix/tasks/pleroma/email.ex new file mode 100644 index 000000000..2c3801429 --- /dev/null +++ b/lib/mix/tasks/pleroma/email.ex @@ -0,0 +1,25 @@ +defmodule Mix.Tasks.Pleroma.Email do + use Mix.Task + + @shortdoc "Simple Email test" + @moduledoc File.read!("docs/administration/CLI_tasks/email.md") + + def run(["test" | args]) do + Mix.Pleroma.start_pleroma() + + {options, [], []} = + OptionParser.parse( + args, + strict: [ + to: :string + ] + ) + + email = Pleroma.Emails.AdminEmail.test_email(options[:to]) + {:ok, _} = Pleroma.Emails.Mailer.deliver(email) + + Mix.shell().info( + "Test email has been sent to #{inspect(email.to)} from #{inspect(email.from)}" + ) + end +end diff --git a/lib/pleroma/emails/admin_email.ex b/lib/pleroma/emails/admin_email.ex index d7dd4b2e0..5f23345f7 100644 --- a/lib/pleroma/emails/admin_email.ex +++ b/lib/pleroma/emails/admin_email.ex @@ -7,6 +7,7 @@ defmodule Pleroma.Emails.AdminEmail do import Swoosh.Email + alias Pleroma.Config alias Pleroma.Web.Router.Helpers defp instance_config, do: Pleroma.Config.get(:instance) @@ -20,6 +21,19 @@ defmodule Pleroma.Emails.AdminEmail do Helpers.user_feed_url(Pleroma.Web.Endpoint, :feed_redirect, user.id) end + def test_email(mail_to \\ nil) do + html_body = """ + <h3>Instance Test Email</h3> + <p>A test email was requested. Hello. :)</p> + """ + + new() + |> to(mail_to || Config.get([:instance, :email])) + |> from({instance_name(), instance_notify_email()}) + |> subject("Instance Test Email") + |> html_body(html_body) + end + def report(to, reporter, account, statuses, comment) do comment_html = if comment do |