E-Mails Reply-To Header

Ich habe mir einen kleinen Subscriber geschrieben, der das Event des Kontaktformularversands abpasst und sofern vorhanden die E-Mail des Kunden als ReplyTo einsetzt.
Funktioniert bei uns hervorragend. Natürlich keine Garantie, dass es mit allen möglichen Plugins kompatibel ist und in jeder Konstellation läuft — use at your own risk :wink:

use Shopware\Core\Content\MailTemplate\Service\Event\MailBeforeValidateEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Mime\Address;

class ContactFormSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
MailBeforeValidateEvent::class => ‚onMailBeforeValidateEvent‘,
];
}
public function onMailBeforeValidateEvent(MailBeforeValidateEvent $event): void
{
if (empty($event->getTemplateData()) || !is_array($event->getTemplateData()) || !array_key_exists(‚eventName‘, $event->getTemplateData()) || empty($event->getTemplateData()[‚eventName‘]) || $event->getTemplateData()[‚eventName‘]!=‚contact_form.send‘) {
return;
}
$data = $event->getTemplateData();
$customerEmail = $data[‚contactFormData‘][‚email‘] ?? null;
if ($customerEmail && filter_var($customerEmail, FILTER_VALIDATE_EMAIL)) {
$event->addData(‚replyTo‘, $customerEmail);
}
}
}
2 „Gefällt mir“