send() (Mail) erzeugt Sprachshop

Hallo liebe Shopware-community,

Ich bin gerade auf einen merkwürdigen, wie auch lustigen Fehler, gestoßen und ich habe hier im Forum bis jetzt nichts dazu gelesen.

Ich entwickle gerade ein Plugin als Prüfungsprojekt und bin darauf gestoßen, das beim Versenden meiner E-Mails auch gleichzeitig ein neuer Sprachshop ensteht (s.code)

das hat meine Datenbank aufhängen lassen da im endeffekt ca. 30000 sprachshops erstellt worden sind. 

Ist dieser Fehler schon bekannt?

achja ich benutze die aktuelle Version von Shopware + vagrant. Gerade frisch aufgesetzt. 

 

 private function sendstartmail($mainabo){

        // Nach gewünschten E-Mail Template suchen

        $mailTemplate = Shopware()->Models()->getRepository('Shopware\Models\Mail\Mail')->findOneBy(['name' => 'maintenancestartemail']);

        if (!$mailTemplate instanceof Mail) {
            return;
        }

        // Erstellen der Start Wartungs-email

        try {
            $mail = Shopware()->TemplateMail()
                ->createMail($mailTemplate->getName());
        } catch (\Enlight_Exception $e) {
            echo 'Exception abgefangen: ', $e->getMessage(), "\n";
        }

        //setze Start Wartungs-email Variablenen

        $subject = $mail->getSubject();
        $mail->clearSubject();
        $mail->setSubject($subject);
        $mail->addTo($mainabo);


        //Veruch die Mail zusenden

        try {
            $mail->send();
        } catch (\Exception $e) {
        }
    } private function sendstartmail($mainabo){

        // Nach gewünschten E-Mail Template suchen

        $mailTemplate = Shopware()->Models()->getRepository('Shopware\Models\Mail\Mail')->findOneBy(['name' => 'maintenancestartemail']);

        if (!$mailTemplate instanceof Mail) {
            return;
        }

        // Erstellen der Start Wartungs-email

        try {
            $mail = Shopware()->TemplateMail()
                ->createMail($mailTemplate->getName());
        } catch (\Enlight_Exception $e) {
            echo 'Exception abgefangen: ', $e->getMessage(), "\n";
        }

        //setze Start Wartungs-email Variablenen

        $subject = $mail->getSubject();
        $mail->clearSubject();
        $mail->setSubject($subject);
        $mail->addTo($mainabo);


        //Veruch die Mail zusenden

        try {
            $mail->send();
        } catch (\Exception $e) {
        }
    }

Mach mal einfach nur Shopware()->Models()->flush() werden die dann trotzdem erstellt?

1 „Gefällt mir“

guten Morgen Shyim :),

meinst du mail->send() mit Shopware()->Models()->flush() ersetzen? 

Ich habe Shopware()->Models()->flush()  eingefügt und es wird kein neuer sprachshop erstellt