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\SqueezeConfig;
use Squeeze\xTools;
function AfterValidation(\Squeeze\xDoc $xDoc, $nextStep, $newStatus){
// Optional ein Logger Objekt erzeugen
$logger = Logger::getLogger("main");
// Initialisierung der Emailparameter
$subject = 'Test after Validation'; // Betreff
$to = array('test(at)test.de'); // 1 - n Empfänger
// Definition des Emailinhalts
// HTML formatierte Emails sind ebenfalls möglich aber komplexer.
$body = 'ErsterHier Testder Nachrichtentext.';
// Absoluten Pfad zum VersendenDokument einerermitteln
Email// mitggf. Anlagen.eine HTMLException Emailserzeugen, wärenwenn auchder möglichPfad sindnicht aber komplexer.';
$attachments = array();existiert
$config = new SqueezeConfig();
$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 = array();
// Laden der PDFs und dem Array der Anlagen hinzufügen
$files = $xDoc->getBase64Files($absolutePath, 'Input', array('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() === false) {
throw new Exception($result->getMessage());
}
// Rückgabe an das aufrufende Skript
return array('xDoc' => $xDoc, 'nextStep' => $nextStep, 'newStatus' => $newStatus);
}