Auge: Mail an mehrere Adressen verschicken

Beitrag lesen

Hallo

...

$mailSubject = "Subject";

$mailMessage = "Text";

$mailHeaders = "Content-Type: text/plain; charset=utf-8";

for($i = 0; $i < count($mailingList); $i++){

	$mailTo = $mailingList[$i];

	mail($mailTo, $mailSubject, $mailMessage, $mailHeaders);

}

...

soll eine Mail an die Empfänger aus $mailingList verschicken, was auch geschieht. Bei der Überprüfung des Ergebnisses habe ich aber festgestellt, daß alle Zieladressen in jeder Mail unter "To:" auftauchen. Sieht dann etwa so aus:

To: adresse_1@example.com adresse_2@example.com adresse_3@example.com ...

Wenn da alle Adressen aufgelistet werden, musst du davon ausgehen, dass alle diese Adressen in $mailTo stehen, musst du davon ausgehen, dass alle diese Adressen in $mailingList[$i] stehen. Ansonsten sieht der Code für mich – abseits vom hier und da bestehenden Optimierungspotential – unverdächtig aus.

Hast du dir mal den Inhalt von $mailingList[$i] ausgeben lassen? Nur, um dich zu vergewissern, dass dort das enthalten ist, was du erwartest. Zum Beispiel so:

echo '<pre>';
for($i = 0; $i < count($mailingList); $i++){
  echo htmlspecialchars('Zeile #'. $i .': '. $mailingList[$i] ."\n");
	//$mailTo = $mailingList[$i];

	//mail($mailTo, $mailSubject, $mailMessage, $mailHeaders);

}
echo '</pre>';

Ich hatte angenommen, daß für jeden Schleifendurchgang eine Mail mit jeweils einer Adresse erzeugt wird.

Das sollte eigentlich so sein, falls $mailingList ein eindimensionales Array mit E-Mail-Adressen ist.

Tschö, Auge

--
200 ist das neue 35.