*/ public $backoff = [2, 5, 10, 30]; public function __construct(public SpaceInvitation $invitation) { $this->onQueue('emails'); } public function envelope(): Envelope { return new Envelope( subject: __(':inviter invited you to :space on Whisper Money', [ 'inviter' => User::query()->whereKey($this->invitation->invited_by_id)->value('name') ?? __('Someone'), 'space' => $this->invitation->space->name, ]), ); } public function content(): Content { return new Content( markdown: 'mail.space-invitation', with: [ 'spaceName' => $this->invitation->space->name, 'inviterName' => User::query()->whereKey($this->invitation->invited_by_id)->value('name') ?? __('A Whisper Money user'), 'acceptUrl' => route('spaces.invitations.accept', $this->invitation->token), ], ); } /** * @return array */ public function middleware(): array { return [(new RateLimited('emails'))->releaseAfter(1)]; } }