From c5a115092b3c385dffaafa3fe8c45109aa1e4188 Mon Sep 17 00:00:00 2001 From: Fabian Galinski <fabian@sgalinski.de> Date: Tue, 20 Sep 2016 03:55:19 +0200 Subject: [PATCH] [TASK] Fixing of the domain models --- Classes/Controller/MailController.php | 4 +-- Classes/Domain/Model/Mail.php | 40 ++++++++++++------------- Classes/Service/MailTemplateService.php | 18 +++++++++-- 3 files changed, 37 insertions(+), 25 deletions(-) diff --git a/Classes/Controller/MailController.php b/Classes/Controller/MailController.php index f9818c19..5e8f1b1a 100644 --- a/Classes/Controller/MailController.php +++ b/Classes/Controller/MailController.php @@ -220,12 +220,12 @@ class MailController extends ActionController { // @todo Die "From email" sollte eine TypoScript-Konfiguration sein. MailTemplateService::sendEmail( $selectedLanguageLeft, $selectedTemplateKey, $selectedExtensionKey, $emailAddress, 'test@sgmail.de', - 'This is just a Test E-Mail' + 'This is just a Test E-Mail', [], TRUE ); MailTemplateService::sendEmail( $selectedLanguageRight, $selectedTemplateKey, $selectedExtensionKey, $emailAddress, 'test@sgmail.de', - 'This is just a Test E-Mail' + 'This is just a Test E-Mail', [], TRUE ); // @todo SgMail -> sg_mail | Evtl. kein Fehler, da TYPO3 das für dich macht :) diff --git a/Classes/Domain/Model/Mail.php b/Classes/Domain/Model/Mail.php index 235c7d99..e0857ddb 100644 --- a/Classes/Domain/Model/Mail.php +++ b/Classes/Domain/Model/Mail.php @@ -42,22 +42,22 @@ class Mail extends AbstractEntity { /** * @var string */ - protected $mail_subject = ''; + protected $mailSubject = ''; /** * @var string */ - protected $mail_body = ''; + protected $mailBody = ''; /** * @var string */ - protected $to_address = ''; + protected $toAddress = ''; /** * @var string */ - protected $from_address = ''; + protected $fromAddress = ''; /** * @var bool @@ -73,60 +73,60 @@ class Mail extends AbstractEntity { * @return string */ public function getMailSubject() { - return $this->mail_subject; + return $this->mailSubject; } /** - * @param string $mail_subject + * @param string $mailSubject * @return void */ - public function setMailSubject($mail_subject) { - $this->mail_subject = $mail_subject; + public function setMailSubject($mailSubject) { + $this->mailSubject = $mailSubject; } /** * @return string */ public function getMailBody() { - return $this->mail_body; + return $this->mailBody; } /** - * @param string $mail_body + * @param string $mailBody * @return void */ - public function setMailBody($mail_body) { - $this->mail_body = $mail_body; + public function setMailBody($mailBody) { + $this->mailBody = $mailBody; } /** * @return string */ public function getToAddress() { - return $this->to_address; + return $this->toAddress; } /** - * @param string $to_address + * @param string $toAddress * @return void */ - public function setToAddress($to_address) { - $this->to_address = $to_address; + public function setToAddress($toAddress) { + $this->toAddress = $toAddress; } /** * @return string */ public function getFromAddress() { - return $this->from_address; + return $this->fromAddress; } /** - * @param string $from_address + * @param string $fromAddress * @return void */ - public function setFromAddress($from_address) { - $this->from_address = $from_address; + public function setFromAddress($fromAddress) { + $this->fromAddress = $fromAddress; } /** diff --git a/Classes/Service/MailTemplateService.php b/Classes/Service/MailTemplateService.php index cc7e5c95..ffeab00a 100644 --- a/Classes/Service/MailTemplateService.php +++ b/Classes/Service/MailTemplateService.php @@ -4,6 +4,7 @@ namespace SGalinski\SgMail\Service; use SGalinski\SgMail\Domain\Model\Mail; use SGalinski\SgMail\Domain\Repository\MailRepository; +use TYPO3\CMS\Core\Mail\MailMessage; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Extbase\Object\ObjectManager; @@ -86,9 +87,11 @@ class MailTemplateService { * @param string $fromAddress * @param string $subject * @param string $content + * @param boolean $ignoreMailQueue */ public static function sendEmail( - $language, $templateKey, $extensionKey, $toAddress, $fromAddress, $subject, array $content = [] + $language, $templateKey, $extensionKey, $toAddress, $fromAddress, $subject, array $content = [], + $ignoreMailQueue = FALSE ) { // Set Email Content $registerArray = MailTemplateService::getRegisterArray(); @@ -101,8 +104,17 @@ class MailTemplateService { $emailView->assignMultiple($content); $emailBody = $emailView->render(); - // @todo evtl. sollten hier noch die Parameter $priority und $pid mit gegeben werden. - self::addMailToMailQueue($fromAddress, $toAddress, $subject, $emailBody); + if ($ignoreMailQueue) { + $mailMessage = $objectManager->get(MailMessage::class); + $mailMessage->setFrom($fromAddress); + $mailMessage->setTo($toAddress); + $mailMessage->setSubject($subject); + $mailMessage->setBody($emailBody, 'text/html'); + $mailMessage->send(); + } else { + // @todo evtl. sollten hier noch die Parameter $priority und $pid mit gegeben werden. + self::addMailToMailQueue($fromAddress, $toAddress, $subject, $emailBody); + } } /** -- GitLab