data = $data; $this->template = $template; } public function envelope(): Envelope { return new Envelope( from: new Address( Config::get('mail.from.address'), Config::get('mail.from.name') ), subject: $this->template->subject, ); } public function content(): Content { return new Content( view: 'mail.dynamic-mail', with: [ 'content' => $this->buildHtml(), ], ); } public function attachments(): array { return []; } protected function buildHtml() { $message = $this->template->message; foreach ($this->data as $key => $value) { $message = str_replace('[' . $key . ']', $value, $message); } return $message; } }