invoice = $invoice; $this->reminder_template = $reminder_template; $this->contact = $contact; } /** * Builds the correct template to send. * @return void */ public function run() { if (! $this->reminder_template) { $this->reminder_template = $this->invoice->calculateTemplate('invoice'); } $this->invoice->invitations->each(function ($invitation) { $email_builder = (new InvoiceEmail())->build($invitation, $this->reminder_template); if ($invitation->contact->send_email && $invitation->contact->email) { EmailEntity::dispatchNow($invitation, $invitation->company); } }); } }