Sehr geehrte Damen und Herren,
wir sind gerade dabei, einen Plugin-Cronjob zu schreiben, welcher eine E-Mail an mehrere Empfänger schicken soll. Dabei ist uns aufgefallen, das die Email aber immer nur an den ersten Empfänger gesendet wird.
Die E-Mails werden wie folgt versendet:
$emails = [
'email1@gmail.com',
'email2@gmail.com',
'email3@gmail.com',
];
$emailTemplate = 'sPRICEARTICLEVKEK';
$dataEmail = [
'articlePrice' => $articlePrice,
];
$mail = Shopware()->TemplateMail()->createMail($emailTemplate, $dataEmail);
$mail->addTo($emails);
$mail->send();
Laut Zend-Mailer Doku kann addTo() auch mit einem Array aufgerufen werden:
https://framework.zend.com/manual/1.10/de/zend.mail.adding-recipients.html
Wir haben es mit ->addCc(), ->addBcc() und nur mit addTo() versucht, alle Versuche laufen aber auf das selbe hinaus: Nur eine E-Mail an die ->addTo() Adresse wird versendet. Alle anderen scheinen zwar im MailCatcher im Backend auf, aber versendet werden diese nie.
Was wir auch versucht haben, ist das ganze in einer foreach laufen zu lassen, funktioniert leider auch nicht.
$emails = [
'email1@gmail.com',
'email2@gmail.com',
'email3@gmail.com',
];
$emailTemplate = 'sPRICEARTICLEVKEK';
$dataEmail = [
'articlePrice' => $articlePrice,
];
foreach($emails as $email){
$mail = Shopware()->TemplateMail()->createMail($emailTemplate, $dataEmail);
$mail->addTo($emails);
$mail->send();
}
Außerdem versenden wir unsere Mails nicht mit SMTP, könnte es daran liegen?
Vielleicht ist dieses Problem ja bekannt und ihr wisst warum das nicht geht.
Shopware Version: 5.2.22
PHP Version: 7.0.31