setDefaultFromPiwik(); $mail->setSubject($report->getReportDescription()); if (!empty($customReplyTo)) { $mail->addReplyTo($customReplyTo['email'], $customReplyTo['login']); } $this->configureEmail($mail, $report); foreach ($report->getAdditionalFiles() as $additionalFile) { $mail->addAttachment( $additionalFile['content'], $additionalFile['mimeType'], $additionalFile['filename'], $additionalFile['cid'] ?? null ); } return $mail; } protected abstract function configureEmail(Mail $mail, GeneratedReport $report); }