Remove BulletproofMailer and update UserMailer#batch_subscription_notification

Description

The BulletproofMailer class in lib/bulletproof_mailer.rb was originally introduced to allow emails to be cancelled by calling abort_delivery, which throws an error and prevents an email from being sent. But as redsummernight points out, this workaround is no longer necessary in the current version of Rails.

To modernize the handling of aborted emails and clean up the codebase, it would be nice to make the following changes:

  1. Update UserMailer to extend ActionMailer::Base instead of BulletMailer::Base.

  2. Update UserMailer#batch_subscription_notification to use return instead of abort_delivery.

  3. Delete lib/bulletproof_mailer.rb.

Testing Instructions: We need to make sure that subscription notifications can be cancelled. Specifically:

  1. Log in as User A.

  2. Subscribe to User B.

  3. Log in as User B.

  4. Post a new work.

  5. Immediately after posting, edit the work and add it to an Anonymous collection.

  6. Wait for subscription notifications to be sent, and make sure that User A didn't receive an email.

  7. Check Resque to make sure that the subscription notification didn't produce a failed job.

Environment

None

Status

Assignee

Unassigned

Reporter

ticking instant

Roadmap

Subscriptions

Priority

Medium

Affects versions

0.9.247

Fix versions

None

Components

BackEnd

Difficulty

Medium

Required Access Level

Admin

Milestone

Internal 0.9
Configure