TYPO3 7.6.9
Powermail 3.0.2
Ich versuche anhand der ausgefüllten Felder die Empfänger E-Mail Adresse zu ändern. Zuerst versucht ich es mit einer userfunction wie in der Doku. Dies klappte aber nicht und da userfunc in der Zukunft wohl verschwinden werden, versuchte ich die Variante mit einer DataProcessor oder Finisher Klasse. Beides funktioniert aber auch nicht. Hier meine Ansätze:
Userfunc: (Die userfunc wird gar nicht ausgeführt...)
lib.sendtoemail = USER_INT
lib.sendtoemail.userFunc = Mexan\MxnTemplate\ManipulateReceiver->getEmail
<?php
class user_manipulatePowermailReceiver {
public function getEmail() {
$email = 'vorname.nachname@gmail.com';
return $email;
}
}
?>
DataProcessor:
plugin.tx_powermail.settings.setup {
dataProcessors {
1 {
class = Vendor\Template\DataProcessor\DoSomethingDataProcessor
}
}
}
<?php
namespace Vendor\Template\DataProcessor;
use In2code\Powermail\DataProcessor\AbstractDataProcessor;
/**
* Class DoSomethingDataProcessor
*
* @package Vendor\Ext\DataProcessor
*/
class DoSomethingDataProcessor extends AbstractDataProcessor
{
/**
* @var Mail
*/
protected $mail;
/**
* @var array
*/
protected $configuration;
/**
* @var array
*/
protected $settings;
/**
* Will be called always at first
*
* @return void
*/
public function initializeDataProcessor() {
}
/**
* MyDataProcessor
*
* @return void
*/
public function doSomethingElseDataProcessor() {
$mail = $this->getMail();
$mail->setReceiverMail('vorname.nachname@mail.com');
$this->setMail($mail);
$settings = $this->getSettings();
$settings['receiver']['email'] = 'vorname.nachname@mail.ch';
$this->setSettings($settings);
}
}
Wenn ich die Settings oder das Mail debugge, dann stehen die richtigen E-Mail Adresse drin, aber es wird nicht übernommen. Muss ich diese irgendwie speichern?
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($this->getSettings(), 'settings 2');
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($this->getMail(), 'getMail 2');
Oder ist mein Ansatz komplett falsch?
Wer kann mir helfen?