From 04ce82e2f3f9810e470bb38061af8137035e8b80 Mon Sep 17 00:00:00 2001
From: Torsten Oppermann <torsten@sgalinski.de>
Date: Tue, 27 Sep 2016 16:21:50 +0200
Subject: [PATCH] [TASK] Refactoring Formhandler Finisher for new Service API

---
 Classes/Service/FormhandlerFinisherService.php | 17 +++++++++++------
 Classes/Service/MailTemplateService.php        |  9 +++++++++
 2 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/Classes/Service/FormhandlerFinisherService.php b/Classes/Service/FormhandlerFinisherService.php
index 173e2fcf..aa267cb0 100644
--- a/Classes/Service/FormhandlerFinisherService.php
+++ b/Classes/Service/FormhandlerFinisherService.php
@@ -69,14 +69,19 @@ class FormhandlerFinisherService extends AbstractFinisher {
 			$toAddress = $this->gp['email'];
 		}
 
-		$language = $GLOBALS['TSFE']->config['config']['language'];
 		$fromAddress = [$this->settings['from_address'] => $this->settings['from_name']];
 
-		MailTemplateService::sendEmail(
-			$language, $this->settings['template_key'], $this->settings['extension_key'], [$toAddress],
-			$fromAddress, $subject, $this->gp,
-			$this->settings['ignore_mail_queue']
-		);
+		$objectManager = GeneralUtility::makeInstance(ObjectManager::class);
+		/** @var \SGalinski\SgMail\Service\MailTemplateService $mailTemplateService */
+		$mailTemplateService = $objectManager->get(MailTemplateService::class);
+		$mailTemplateService->setTo($toAddress);
+		$mailTemplateService->setFrom($fromAddress);
+		$mailTemplateService->setSubject($subject);
+		$mailTemplateService->setTemplateName($this->settings['template_key']);
+		$mailTemplateService->setExtensionKey($this->settings['extension_key']);
+		$mailTemplateService->setContent($this->gp);
+		$mailTemplateService->sendEmail();
+
 		return $this->gp;
 	}
 
diff --git a/Classes/Service/MailTemplateService.php b/Classes/Service/MailTemplateService.php
index b6f420a1..2af2a880 100644
--- a/Classes/Service/MailTemplateService.php
+++ b/Classes/Service/MailTemplateService.php
@@ -285,4 +285,13 @@ class MailTemplateService {
 		$this->mailMessage->setSubject($subject);
 		return $this;
 	}
+
+	/**
+	 * @param array $content
+	 * @return MailTemplateService
+	 */
+	public function setContent($content) {
+		$this->content = $content;
+		return $this;
+	}
 }
-- 
GitLab