Exception bei Versand an multiple Empfänger

[font="Arial"][color="#141414"][size="2"]!!Thread auf letzten Eintrag von mir aktualisiert!![/size][/color][/font][font="Arial"][color="#141414"][size="2"]

Hallo Leute, dieses Mailmodul, was ich just programmieren soll, raubt mir meine Nerven:mad:[/size][/color][color="#141414"][size="2"]Ein var_dump auf folgenden Befehl zeigt mir die Mail mit ihren korrekten Umlauten an, ist aber ineffektiv in Bezug auf die Speicherung in die Datenbank und erst recht bezüglich des Versandes[/size][/color][color="#141414"][size="2"]


 $model->bodytext = htmlspecialchars_decode($model->bodytext);

[/size][/color][/font]

[color="#141414"][font="Arial"][size="2"]Demzufolge wandle ich die Umlaute wie folgt um, was zumindest dazu führt, dass die Speicherung korrekt erfolgt:[/size][/font][/color]

[color="#141414"][font="Arial"][size="2"]


$umlaute = array("ü", "ö", "ü", "Ä", "Ö", "Ü", "ß");

$ersetzen = array("ü", "ö", "ü", "Ä", "Ö", "Ü", "ß");

$model->bodytext = str_replace($umlaute, $ersetzen, $model->bodytext);

$model->bodytext = strip_tags($model->bodytext);  

$model->save();

[/size][/font][/color]

[size="2"][font="Arial"][color="#141414"]Leider wird die Mail wie folgt versendet:[/color][/font][/size]

[size="2"][font="Arial"][color="#141414"]




Message-ID: <c95292cfa6ceed26afbbda6a8ef5ed76@localhost>

Date: Mon, 12 Mar 2018 23:10:51 +0100

Subject: Punkertreffen

From: abc@gmail.com

To: kipp.thomas@gmx.net

MIME-Version: 1.0Content-Type: text/plain; charset=utf-8Content-Transfer-Encoding: quoted-printable 

Wir w=C3=BCrden und freuen, wenn sie k&auml;men. f=C3=BCrwahr, das ...



[/color][/font][/size]

[size="2"][font="Arial"][color="#141414"]so verschicke ich die Mail:[/color][/font][/size]

[size="2"][font="Arial"][color="#141414"]




if ($model->gesendet == 1 && !$multiple) {

$SendObject = Yii::$app->mailer->compose()->setFrom($string)

->setTo($model->mail_antwortadresse)

->setSubject($model->betreff)

->setTextBody($model->bodytext)

->send();

}

$session->addFlash("info", "Die Mail wurde ohne Anhänge versandt.Bitte überprüfen sie ihren Maileingang");

[/color][/font][/size]

[font="Arial"][color="#141414"][size="2"]!!Thread auf letzten Eintrag von mir aktualisiert!![/size][/color][/font]

[font="Arial"][color="#141414"][size="2"][b][u]

[/u][/b][/size][/color][/font]

Was ist denn nicht korrekt?

Wenn man E-Mails mit Content-Type: text/plain; charset=UTF-8 sendet, dann ist der Text korrekt. Beim Empfang sollten die Umlaute im E-Mail-Client wieder korrekt angezeigt werden.

http://www.bitloeffel.de/DOC/joelonsoftware/Unicode_de.html

Das zeigt mir der Emulator für die Zeichen ö und ü an, wobei alle Umlaute inkorrekt verschickt werden.




=C3=B6,=C3=BC....



Auserdem hatte ich bereits in der Eingangsfrage geschildert,was nicht funktioniert. Bitte aufmerksam durchlesen…

Dann schick die Mail mal ab. Im E-Mail-Client sind die Umlaute dann wieder da, dank charset=UTF-8

Stimmt. Der Emulator war schuld. Habe allerdings noch ein anderes Problem:

Ich möchte eine Mail an multiple Empfänger verschicken. Das mache ich so:





          $SendObject = Yii::$app->mailer->compose()->setFrom($string)

                                ->setTo(array('goetz.bewerber@gmx.net','schulze.bewerber@gmail.com','susanne.bewerber@web.de'))

                                ->setHtmlBody($model->bodytext)

                                ->setSubject($model->betreff)

                                ->setTextBody($model->bodytext);

                        $SendObject->send();



Wenn ich im Feld setTo eine String mit exact denselbem Inhalt übergebe, bekomme ich die Fehlermeldung





Address in mailbox given ['goetz.bewerber@gmx.net','schulze.bewerber@gmail.com','susanne.bewerber@web.de'] 

does not comply with RFC 2822, 3.6.2.



So definiere ich den String




$ZieladresseTest = "'goetz.bewerber@gmx.net','schulze.bewerber@gmail.com','susanne.bewerber@web.de'";



Und dieser Code verursacht die Exception:





     		$SendObject = Yii::$app->mailer->compose()->setFrom($string)

                                // $ZieladresseTest = "'goetz.bewerber@gmx.net','schulze.bewerber@gmail.com','susanne.bewerber@web.de'";

                                ->setTo(array($ZieladresseTest))

                                ->setHtmlBody($model->bodytext)

                                ->setSubject($model->betreff)

                                ->setTextBody($model->bodytext);

                        $SendObject->send();



Weisst du, oder jemand anderst, wie ich es korrekt mache?

Nimm


$ZieladresseTest = array('goetz.bewerber@gmx.net','schulze.bewerber@gmail.com','susanne.bewerber@web.de');


und


->setTo($ZieladresseTest)

dein Code generiert einen einzelnen Arrayeintrag mit den drei Emailadressen und nicht 3! und das ist keine gültige Emailadresse, das array einmal ausgeben und du hättest es auf den ersten Blick gesehen.

jim´s code passt aber du sollst es ja auch verstehen :wink:

Korrekt! Habe meinen Fehler erkannt und gemäß Eurer Angaben korrigiert. Jetzt ist die Swiftmailer-Exception passe.

P.S.: Ist mir zwei Reputationspunkte wert,die ich soeben vergeben habe.

Dieser Thread kann als erfolgreich gelöst geschlossen werden

Happy Coding

Thomas Kipp alias tklustig