Hallo
ich bin gerade dabei mir ein Newsletter-Versenden-Script zubasteln.
Soweit hats bis jetzt auch funktioniert.
Nun hänge ich leider bei der Sendenfunktion über den phpmailer fest.
Zu meinen Funktionen:
Ich aheb es sogemacht, das man den Empfänger unten mit Checkboxen auswählen muss.Zurzeit gebe ich aber direkt einen Empfänger an.
Später sollen diese dann aus einer DB ausgelesen werden.
Sprich eine Schleife solange bis der letzte Empfänger versendet wurde.
Zurzeit ist aber mein Problem das ich mit phpmailer noch nie gearbeitet habe und nicht weis, wie ich den richtig einzusetzten habe.
Vielleicht könnte mir hierbei jemand helfen, wäre super nett.
Mit freundlichen Grüßen
luckymedia
ich bin gerade dabei mir ein Newsletter-Versenden-Script zubasteln.
Soweit hats bis jetzt auch funktioniert.
Nun hänge ich leider bei der Sendenfunktion über den phpmailer fest.
Zu meinen Funktionen:
Ich aheb es sogemacht, das man den Empfänger unten mit Checkboxen auswählen muss.Zurzeit gebe ich aber direkt einen Empfänger an.
Später sollen diese dann aus einer DB ausgelesen werden.
Sprich eine Schleife solange bis der letzte Empfänger versendet wurde.
Zurzeit ist aber mein Problem das ich mit phpmailer noch nie gearbeitet habe und nicht weis, wie ich den richtig einzusetzten habe.
Vielleicht könnte mir hierbei jemand helfen, wäre super nett.
Mit freundlichen Grüßen
luckymedia
PHP-Code:
<html>
<script language="javascript">
<!--
function check() {
if(document.form2.header.value == "") {
alert("Bitte geben Sie eine Ueberschrift ein.");
document.form.header.focus();
return false;
}
if(document.form2.text.value == "") {
alert("Bitte geben Sie einen Text ein!");
document.form2.text.focus();
return false;
}
}
//-->
</script>
<script language="JavaScript">
<!--
var Marker = "false";
function CheckboxenAktivieren(field)
{
for(i=0;i<4;i++)
{
window.document.form1.elements[i].checked="true";
}
}
//-->
</script>
<head>
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Newsletter versenden</title>
</head>
<?
error_reporting(E_ALL);
//Zeit und Datumabfrage
$today = getdate();
$month = $today['month'];
$mday = $today['mday'];
$year = $today['year'];
$hours = $today['hours'];
$minutes = $today['minutes'];
$now = sprintf ("$mday $month $year %02d:%02d", $hours, $minutes);
//Zeit und Datumabfrage Ende
//--------------------------------------------------------------------------------------------------
if (isset($_POST['action']))
$action=htmlspecialchars($_POST["action"]);
if (!empty($_POST['action'])) {
//Klasse einbinden
require('../phpmailer/class.phpmailer.php');
//Instanz von PHPMailer bilden
$mail = new PHPMailer();
//Absenderadresse der Email setzen
$mail->From = "info@domain.com";
//Name des Abenders setzen
$mail->FromName = "domain";
//Betreff der Email setzen
$mail->Subject = "Newsletter von domain";
//Text und Header der EMail setzen
$mail->Body = $_POST["header"];$_POST["text"];
//Liste der Empfänger
$receivers = array("info@domain.com","info@domain.de");
//Liste der Empfänger durchlaufen
foreach ($receivers as $receiver)
{
//Empfänger setzen
$mail->AddAddress($receiver);
//EMail senden und überprüfen ob sie versandt wurde
if(!$mail->Send())
{
//$mail->Send() liefert FALSE zurück: Es ist ein Fehler aufgetreten
echo "Der Newsletter konnte nicht gesendet werden<br>";
echo "Fehler: " . $mail->ErrorInfo;
}
else
{
//$mail->Send() liefert TRUE zurück: Die Email ist unterwegs
echo "Der Newsletter wurde versandt.<br>";
}
//Empfänger zurücksetzen
$mail->ClearAddresses();
}
}
//--------------------------------------------------------------------------------------------------
?>
<body bgcolor="#C0C0C0">
<p align="center"><u><font color="#0000FF" size="5">Newsletter versenden</font></u></p>
<table border="0" width="100%">
<tr>
<td><?echo "Datum: $now Uhr";
?> <br><br>
</td>
</tr>
<form name="form2" onsubmit="return check()">
<tr>
<td><font color="#0000FF">Überschrift: </font></td>
<td><input type="text" name="header" size="65"></td>
</tr>
<tr>
<td valign="top"> <p><font color="#0000FF">Text:</font></p>
<p> </td>
<td> <p><textarea rows="15" name="text" cols="65"></textarea></p>
<p> </td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Absenden" name="action">
<input type="reset" value="Zurücksetzen" name="zurücksetzen"></td>
</tr>
</table>
</form>
</body>
</html>
<?
//---------------------------------------------------------------------------
//Kennungen
$host="...";
$user="...";
$passwort="...";
$datenbank="...";
if(!$conn = mysql_pconnect($host, $user, $passwort))
{
die("Verbindung zur Datenbank konnte nicht hergestellt werden. Errorcode: ".mysql_error());
}
if(!mysql_select_db($datenbank))
{
die("Die Datenbank $db konnte nicht ausgewaehlt werden. Errorcode: ".mysql_error());
}
//----------------------------------------------------------------------------
//SQL-String zum Auslesen und Löschen
$tabellenname = "newsletter_abo";
// Die vorhandenen Datensätze abrufen
$result=mysql_query("select * from $tabellenname order by name ASC");
// Nur wenn Daten gefunden wurden,
// wird das Formular angezeigt.
if(mysql_num_rows($result)) {
// Daten anzeigen
while($row=mysql_fetch_array($result,MYSQL_ASSOC)) {
$ID=$row["ID"];
$name=$row["name"];
$email=$row["email"];
?>
<table>
<form name="form1">
<tr>
<td width="30">
<input type="checkbox" name="auswahl" value="<? echo $ID ?>">
</td>
<td><? echo "$name $email<br> "?></td>
</tr>
<? } ?>
</table>
<br>
<input type="button" onClick="CheckboxenAktivieren(this.form.auswahl);" value="Alle Auswählen">
<input type="reset" value="Auswahl aufheben" name="zurücksetzen">
</form>
<?
} else {
echo "Keine Daten gefunden.";
}
?>
Kommentar