voucher->fresh(); if (! $voucher || $voucher->isRedeemed() || $voucher->isRefunded() || $voucher->isExpired()) { return; } $recipients = collect([$voucher->purchaser_email, $voucher->recipient_email]) ->filter() ->unique() ->all(); foreach ($recipients as $email) { Mail::to($email)->queue((new GiftVoucherIssued($voucher, $email === $voucher->recipient_email))->with([ 'isReminder' => true, 'isExpiry' => $this->expiry, ])); } } }