*/ public $backoff = [2, 5, 10, 30]; public function __construct( public User $user, public string $viewName, public string $emailSubject = 'Update from Whisper Money' ) { $this->onQueue('emails'); } public function envelope(): Envelope { return new Envelope( subject: $this->emailSubject, ); } public function content(): Content { return new Content( markdown: "mail.updates.{$this->viewName}", with: [ 'user' => $this->user, ], ); } /** * Get the middleware the job should pass through. * * @return array */ public function middleware(): array { return [(new RateLimited('emails'))->releaseAfter(1)]; } }