Versenden einer Email nach der Validierung

Es ist möglich nach der Validierung eine Email zu versenden.  Hier ein Beispiel wie dieser Versand realisiert werden kann: 
 <?php

// ========================================================
// UserExit after Validation
// ========================================================

use Squeeze\xDoc;
use Squeeze\xTools;
use App\V2\Base\Config\TenantConfig;
use App\V2\Base\DI\Dependencies;

function AfterValidation(xDoc $xDoc, string $nextStep, string $newStatus): ?array
{
 // Optional ein Logger Objekt erzeugen
 $logger = Logger::getLogger("main");

 // Initialisierung der Emailparameter
 $subject = 'Test after Validation'; // Betreff
 $to = ['test(at)test.de']; // 1 - n Empfänger

 // Definition des Emailinhalts
 // HTML formatierte Emails sind ebenfalls möglich aber komplexer.
 $body = 'Hier der Nachrichtentext.';

 // Absoluten Pfad zum Dokument ermitteln
 // ggf. eine Exception erzeugen, wenn der Pfad nicht existiert
 $config = Dependencies::getContainer()->get(TenantConfig::class);
 $repo = $config->get('repository.root');
 $absolutePath = xTools::buildAbsolutePath($repo, $xDoc->repoPath, false);
 if ($absolutePath === false) {
 $msg = "AfterValidation Input Folder (" . $repo . $xDoc->repoPath . ") does not exist.";
 $logger->error($msg);
 throw new Exception($msg);
 }

 // Initalisierung eines Arrays zur Speicherung der Anlagen
 $attachments = [];
 
 // Laden der PDFs und dem Array der Anlagen hinzufügen 
 $files = $xDoc->getBase64Files($absolutePath, 'Input', ['pdf']);
 foreach ($files->getResult() as $file) {
 if ($file->filename != '_result.pdf') {
 $attachments[] = $absolutePath . 'Input' . DIRECTORY_SEPARATOR . $file->filename;
 }
 }

 // Email senden und auf Fehler prüfen
 $result = xTools::sendEmail($subject, $to, $body, 'text', $attachments);
 if (!$result->isSuccess()) {
 throw new Exception($result->getMessage());
 }

 return ['xDoc' => $xDoc, 'nextStep' => $nextStep, 'newStatus' => $newStatus];
}