# SW 5.7.0 RC + PHP 8.0: Zend\_Mail\_Transport\_Exception in Subscriber

**URL:** <https://forum.shopware.com/t/sw-5-7-0-rc-php-8-0-zend-mail-transport-exception-in-subscriber/72887>\
**Category:** Programmierung\
**Created:** [18. Februar 2021 um 16:01 UTC](https://forum.shopware.com/t/sw-5-7-0-rc-php-8-0-zend-mail-transport-exception-in-subscriber/72887 "2021-02-18T16:01:32Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![kgoodin](https://avatars.discourse-cdn.com/v4/letter/k/3d9bf3/32.png) [@kgoodin](https://forum.shopware.com/u/kgoodin)\
**Post date:** [18. Februar 2021 um 16:01 UTC](https://forum.shopware.com/t/sw-5-7-0-rc-php-8-0-zend-mail-transport-exception-in-subscriber/72887/1 "2021-02-18T16:01:32Z")

</div>

Hallo zusammen,

gerade möchte ich die Kompatibilität eines PlugIns zu **Shopware 5.7.0** (RC) herstellen.  
In der Kombination SW 5.7.0 + **PHP 7.x** funktioniert bereits alles tadellos.

Gerade stecke ich bei der Kombination SW 5.7.0 + **PHP 8.0** fest.

Unter PHP 8 wird der Fehler immer dann geschmissen, wenn ich in einem Subscriber eine E-Mail (Shopware\_Components\_TemplateMail) versenden möchte.

Ich kann das Objekt Instanzieren. Der Fehler wird erst bei Aufruf von -\>send() geschmissen.  
Zurück kommt eine Meldung von ZEND\_MAIL (siehe unten). Wie gesagt. Mit PHP \< 8 funktioniert alles.

Kurios ist jedoch, dass der Versand von E-Mails aus Cronjob-Subscribern heraus auch mit PHP 8 tadellos funktioniert.  
Hatte jemand schon mal etwas ähnliches oder einen Ansatz?

Hier ein Beispiel für einen Subscriber, in dem die Mail generiert werden soll:

```
class BeispielSubscriber implements SubscriberInterface
{
    /**
     * Constructor, etc., p.p.
     */
    
    
    public static function getSubscribedEvents()
    {
        return [
            'Enlight_Controller_Action_PreDispatch_Frontend' => 'onFrontendPreDispatch',
        ];
    }

    /**
     * @param \Enlight_Controller_ActionEventArgs $args
     * @throws \Exception
     */
    public function onFrontendPreDispatch(\Enlight_Controller_ActionEventArgs $args)
    {
        $mailAddress = $this->shopConfig->get('sMAIL');

        try {
            $mail = $this->templateMail->createMail(ConstantsProvider::SOME_MAIL_TEMPLATE);
            $mail->addTo($this->shopConfig->get('sMAIL'));
            $mail->send();
        } catch (\Exception $e) {
            throw $e;
        }
    }
}

```

In diesem Fall wird ‚templateMail‘ dem Subscriber als Argument übergeben.  
Auch wenn ich es wie folgt über den container beziehe, wird der Fehler geworfen:

```
$mail = $this->container->get('templatemail')->createMail(ConstantsProvider::SOME_MAIL_TEMPLATE);

```

Im Cronjob beutze ich genau den gleichen Zeilen um die Mail zu versenden und hier geht es.

**Die Ausgabe des Fehlers im FE:**

```
Fatal error: Uncaught Zend_Mail_Transport_Exception:
Unable to send mail. in /html/shopware.57/engine/Library/Zend/Mail/Transport/Sendmail.php:134
Stack trace:
#0 /html/shopware.57/engine/Library/Zend/Mail/Transport/Abstract.php(343): Zend_Mail_Transport_Sendmail->_sendMail()
#1 /html/shopware.57/engine/Library/Zend/Mail.php(1176): Zend_Mail_Transport_Abstract->send(Object(Enlight_Components_Mail))
#2 /html/shopware.57/engine/Library/Enlight/Components/Mail.php(401): Zend_Mail->send(Object(Zend_Mail_Transport_Sendmail))
#3 /html/shopware.57/custom/plugins/MyPluginPath/Subscriber/BeispielSubscriber.php(139): Enlight_Components_Mail->send()
#4 /html/shopware.57/engine/Library/Enlight/Event/Handler/Default.php(87): MyPluginPath\Subscriber\BeispielSubscriber->onFrontendPreDispatch(Object(Enlight_Controller_ActionEventArgs))
#5 /html/shopware.57/engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#6 /html/shopware.57 in /html/shopware.57/engine/Library/Zend/Mail/Transport/Sendmail.php on line 134

```

&nbsp;

&nbsp;
