Email an mehrere Empfänger aus Datenbank

Schatti

Mitglied
Hi,

ich möchte einen PHP-Mailer erstellen, der aus einer Datenbank Emails ausliest und die Email an die gesamten Email-Empfänger sendet!

Die Emails befinden sich in der Tabelle "Benutzer" -> Email



Soweit funktioniert der PHP-Mailer, jedoch noch kein senden an mehrere, kann mir jemand evtl. weiterhelfen?

PHP:
<?
$mail_empfaenger="info@web.de";
$mail_absender="me@web.de";
$betreff="Eine Testmail";
$text="

<html><head><title>Testbericht></title></head>
<body>
<table border=5>
<tr><td bcgolor=blue>Name</td><td bgcolor=red>Max Mustermann</td></tr>
<tr><td bgcolor=yellow> Beruf</td><td bgcolor=green>Zimmermann</td></tr>
<tr><td>Telefon</td><td>01111</td></tr>
<tr><td colspan=2>Mit freundlichen Grüssen</td></tr>
</table>";
</body>
</html>

mail($mail_empfaenger, $betreff, $text,"from:$mail_absender\r\
nContent-Type:text/html\r\nContent-Transfer-Encoding: 8bit\r\n");
print "email wurde verschickt";
?>

MfG
Schatti
 
okay nun funktioniert alles! doch der html-code wird falsch übermittelt

ein beispiel
<a href="link.php">Link.php</a> wird als <a href=\"link.php\">Link.php</a> angezeigt, an was kann das liegen?

d.h. der Scripte macht nach jedem Anführungszeichen (") ein Slash (\)

PHP:
<?php
$server		= "localhost";
$user		= "";
$password		= "";
$database		= "";
mysql_connect($server, $user, $password)or die("Verbindung fehlgeschlagen");
mysql_select_db($database);


if(isset($Senden)){
	$result = mysql_query("SELECT email FROM testdb"); 
			  while($abrufen=mysql_fetch_array($result)){ 
			   $email[] = $abrufen['email'];
			  } 
	$send_to = implode(", ", $email);  
			  
	function composeHeaderFields($array)
	{
		$retVal = '';
		foreach( $array as $name => $value ) {
			$retVal .= $name . ': ' . $value . "\r\n";
		}
		return substr($retVal, 0, -2);
	}
	
	$to = 'email@email.de';
	$headerFields = array(
		'From'         => 'email@email.de',
		'BCC'		   => $send_to,
		'Mime-Version' => '1.0',
		'Content-Type' => 'text/html'
	);
	mail($to, $subject, $body, composeHeaderFields($headerFields));  
	echo"<br>Die Rundmail wurde erfolgreich an folgende Leute verschickt:<br><br>$send_to";
}else{
	echo"
	<br>
	<label><strong><font color=#FF0000>VORSICHT - so bald du &quot;senden&quot; klickst, wird die Email an ca. 700 Leute verschickt</font><br>
	<form id=form1 name=form1 method=post action=>
	  <label><strong>Betreff:</strong>
	  <input name=subject type=text id=subject value='Stauferland-Lan III ::' size=80/>
	  </label>
	  <p><strong>Nachricht:</strong></p>
	  <p>
		<label>
		<textarea name=body id=body  rows=50 cols=100></textarea>
		</label>
	  </p>
	  <p>
		<label>
		<input name=Senden type=submit id=Senden value=senden />
		</label>
	  </p>
	</form>";		

}
?>
 
Zuletzt bearbeitet:
Hallo!

Und wo kommt der Link her?
Über z.b. ein Formular? Dann dürfte wohl magic_quotes_gpc daran "schuld" sein.
Aus der Datenbank? Dann wurden die Zeichen wohl beim eintragen maskiert (z.b. durch mysql_real_escape_string() oder addslashes()).

Versuche es mal so:
PHP:
mail($to, $subject, stripslashes($body), composeHeaderFields($headerFields));
Gruss Dr Dau
 
Zurück