Christoph Haas
Mitglied
Hallo,
ich hoffe man kann mir helfen. Ich habe ein "Newsletter Script", aber es muss sich irgendwo der Fehlerteufel eingeschlichen haben. Ich hab ihn gestern abend nicht gefunden, kann mir jemand helfen?
daten.txt (sollen die Adresse drin stehen)
mailingliste.php (ist das anmende/abmelde Formular)
mailing-send.php (für den Admin zum Versender eines Newsletters)
mailingliste.php
mailing-send.php
ich hoffe man kann mir helfen. Ich habe ein "Newsletter Script", aber es muss sich irgendwo der Fehlerteufel eingeschlichen haben. Ich hab ihn gestern abend nicht gefunden, kann mir jemand helfen?
daten.txt (sollen die Adresse drin stehen)
mailingliste.php (ist das anmende/abmelde Formular)
mailing-send.php (für den Admin zum Versender eines Newsletters)
mailingliste.php
PHP:
<?
error_reporting(0);
if (!$_POST){print_form();die();}
?>
<html>
<head>
<title></title>
</head>
<body bgcolor=FFFFFF>
<?
$email=$_POST["email"];
$email=strtolower($email);
check_email ($email, "Achtung: Die e-Mail Adresse hat ein falsches Format!.");
$action=$_POST["action"];
$file = "daten.txt";
if (file_exists($file)){
$file_content=file_get_contents($file);
}else{
$cf = fopen($file, "w") or die("Fehler: Die Datei existiert nicht.");
fputs($cf, "Mitglieder der Liste\n");
fclose($cf);
}
if ($action=="subc"){
if(strpos($file_content,"<$email>")>0){die("Achtung: Ihre Email Adresse ist bereits in der Newsletterliste enthalten");}
$cf = fopen($file, "a");
fputs($cf, "\n<$email>");
fclose($cf);
print "Ihre e-Mail Adresse wurde in die Liste eingetragen.<br>Vielen Dank";
}
if ($action=="unsubc"){
if(strpos($file_content,"<$email>")==0){die("Fehler: Ihre e-Mail Adresse ist nicht in der Liste enthalten");}
$file_content=preg_replace ("/\n<$email>/","",$file_content);
$cf = fopen($file, "w");
fputs($cf, $file_content);
fclose($cf);
print "Ihre e-Mail Adresse wurde aus der Liste entfernt. ";
}
?>
</body>
</html>
<?
function check_email ($email, $message){
if ($email==""){die($message);}
$test1=strpos($email, "@");
$test2=strpos(substr($email,strpos($email,"@")), ".");
$test3=strlen($email);
$test4=substr_count ($email,"@");
if ($test1<2 or $test2<2 or $test3<7 or $test4!=1){die($message);}
$email_server=substr($email,strpos($email, "@")+1);
if (checkdnsrr($email_server)!=1){die ($message);}
}
function print_form(){
?>
<html>
<head>
<title></title>
</head>
<body style="background-color: rgb(255, 255, 255);">
<center>
<p> <p>
<form action="<? $PHP_SELF; ?>" method="post">
<table>
<tr>
<td>
<div style="text-align: center;">
<big style="font-weight: bold;">Besuchen Sie die Mailingliste </big><br>
</div>
<input name="email" size="30" type="text"> <br>
<div style="text-align: center;">
<input name="action" value="subc" checked="checked" type="radio">Eintragen
<input name="action" value="unsubc" selected="" type="radio">Austragen
<br>
</div>
<div style="text-align: center;">
<input value="Absenden" type="submit">
</div>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
<?
}
?>
mailing-send.php
PHP:
<?
error_reporting(0);
$my_password="xxx";
$from_email="xxx <xx@xx.de>";
$replayto="xx@xx.de";
$message_at_bottom="http://www.xxx.de";
$emails_file="daten.txt";
if (!$_POST["mensaje"]){
print_form();
die();
}
if ($_POST["p"]!=$my_password){die("Falsches Passwort");}
$subject =$_POST["subject"];
$message=$_POST["mensaje"];
$message.=$message_at_bottom;
$emails_file=file_get_contents($emails_file);
preg_match_all("/<.{0,100}?>/",$emails_file,$emails_array);
print "<b>Sende Nachrichten an...</b>";
foreach ($emails_array[0] as $email){
$email=substr($email,1,strlen($email)-2);
mail($email, $subject, $message,"From: $from_email\nReply-To: $replayto\nContent-Type: text/plain");
print "<br>$email\n";
flush();
}
?>
</body>
</html>
<?php
function print_form(){
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title></title>
</head>
<body style="background-color: rgb(255, 255, 255);">
<center>
<h2>Eingabeformular</h2>
<table style="font-family: times new roman;" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="vertical-align: top;">
<form method=POST action="<? $PHP_SELF; ?>".php>
Betreff
<br><input type=text name=subject size=40>
<br>Nachricht
<br><textarea name=mensaje cols=50 rows=8></textarea>
<br>Passwort <input type=password name=p size=10>
<br><input type=submit value=Absenden>
</form>
</td>
</tr>
</tbody>
</table>
</center>
</body>
</html>
<? } ?>