An mehrere Empfänger senden?

EuroCent

Klappstuhl 2.0
Ich wieder einmal ;)

Ich möchte per PHP mails verschicken

Gut soweit t es bei einem Empfänger aber wie muss ich es machen damit ich auch an mehrere senden lassen kann?

Also ich lasse über meine Datenbank die Mails ausgeben die auch bei newsletter auf 1 haben

Aber wenn ich jetzt $mails als empfänger mache dann sieht es so aus:

Code:
yxz@xyz.deyxz@xyz.de

Wie kann ich es machen das er automatisch ein komma und einleerzeichen setzt?

Wenn in der Datenbank 10mann newsletter auf 1 haben dann sollte es dann so als beispiel aussehen:

Code:
yxz@xyz.de, yxz@xyz.de, yxz@xyz.de, yxz@xyz.de, yxz@xyz.de, yxz@xyz.de, yxz@xyz.de, yxz@xyz.de, yxz@xyz.de, yxz@xyz.de

Aber ich bekomme es nur so hin:

Code:
test@test.de, test@test.de,

Da ist aber ein Komma zuviel wie bekomm ich richtig hin?

PHP:
$mailer = $db->query_first("SELECT COUNT(*) usermail FROM mitglieder WHERE newsletter='1'");
$maile = $mailer['usermail'];

$sql = $db->query("SELECT usermail FROM mitglieder WHERE newsletter='1'");
while($mails = $db->fetch_array($sql)) {
	$mail = $mails['usermail'];
	$username = $mails['username'];
	
	if($maile > 0) {
		$empfaenger = $mail.", ";
	}
        echo $empfaenger;
}

Ich hoff mir kann da jemand weiterhelfen
 
PHP:
$empfaenger = '';
$i = 0;
$sql = $db->query("SELECT usermail FROM mitglieder WHERE newsletter='1'");
while($mails = $db->fetch_array($sql)) {
    $mail = $mails['usermail'];
    $username = $mails['username'];
    
    if($i == 0 AND !empty($mail)) {
        $empfaenger .= $mail;
    } else if($i > 0 AND !empty($mail)) {
        $empfaenger .= ', '.$mail;
    }
    $i++;    
}

Probier es mal so.
 
Zuletzt bearbeitet:
Sammele alle Adressen in einem Array und verkette dessen Elemente anschließend mit der implode()- oder join()-Funktion:
PHP:
$addresses = array();
while( $mails = $db->fetch_array($sql) ) {
	$addresses[] = $mails;
}
echo join(', ', $addresses);
 
Habe es getestet nun hab ich das nächste problem das er ab 2 oder mehr keine Mails mehr verschickt!

Hier nochmal der PHP code

PHP:
<?php
require("./lib/config.php");

$action = $_REQUEST['action'];


if($action == '') {

$mailer = $db->query_first("SELECT COUNT(*) usermail FROM mitglieder WHERE newsletter='1'");
$maile = $mailer['usermail'];

$empfaenger = '';
$i = 0;
$sql = $db->query("SELECT usermail FROM mitglieder WHERE newsletter='1'");
while($mails = $db->fetch_array($sql)) {
    $mail = $mails['usermail'];
    $username = $mails['username'];
    
    if($i == 0 AND !empty($mail)) {
        $empfaenger = $mail;
    } else if($i > 0 AND !empty($mail)) {
        $empfaenger = ', '.$mail;
    }
    $i++; 
} 

if($_POST['send_newsletter']) {
	if($_POST['newsletter_msg'] != '') {
		$n_message = $_POST['newsletter_msg'];
    	$n_message = stripslashes($n_message);
    	$n_message = htmlspecialchars($n_message);  //HTML sperren
		//$n_message = nl2br($n_message);
		$betreff = 'Test Betreff';
		$headers = 'From: info@farmgame.de';
		mail($empfaenger, $betreff, $n_message, $headers);
		$finish = "Newsletter an alle Empf&auml;nger gesendet!";
		echo '<meta content="4 URL=newsletter.php?sid='.$sid.'" http-equiv="refresh" />';
	} else {
		$error = "Sie sollten keinen Leeren Newsletter raus schicken!";
	}
}

eval("\$tpl->output(\"".$tpl->get("acp_newsletter")."\");");

}
?>
 
Sorry für die DPs

Aber hab das Problem immer noch nicht beheben können.

Das Problem ist das dass Script ab mehr als 1 Empfänger keine eMails verschickt!
Woran könnte das liegen?

Also ab 2Empfänger sendet er zwar aber nicht dahin wo er es soll
 
Schau dir mal den von Felix übernommenen Vorschlag in deinem Skript noch einmal genau an und vergleiche ihn mit dem Original. Es ist zwar nur ein Zeichen, das fehlt, dafür aber ein sehr entscheidendes.
Du kannst natürlich auch einfach meinen Vorschlag verwenden.
 
Zurück