Class: MaquinaNewsletters::Newsletters::TestDeliveriesController

Inherits:
ApplicationController show all
Includes:
MaquinaNewsletters::NewsletterScoped
Defined in:
app/controllers/maquina_newsletters/newsletters/test_deliveries_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject

POST /newsletters/:newsletter_id/test_delivery

A test send delivers exactly one email to an arbitrary typed address, ignoring batch size and schedule. Allowed while the newsletter is still being prepared (draft/approved/scheduled); not once it is sending/sent or has failed.



14
15
16
17
18
19
20
21
22
23
24
# File 'app/controllers/maquina_newsletters/newsletters/test_deliveries_controller.rb', line 14

def create
  unless @newsletter.test_sendable?
    return render(plain: t(".not_found"), status: :not_found)
  end
  test_email = params[:test_email].to_s
  if test_email.blank? || !test_email.match?(URI::MailTo::EMAIL_REGEXP)
    return render(plain: t(".invalid_email"), status: :unprocessable_entity)
  end
  ::MaquinaNewsletters::NewsletterMailer.issue(@newsletter, test_email).deliver_now
  redirect_to(newsletter_path(@newsletter), notice: t(".sent", email: test_email), status: :see_other)
end