Maillist problemer
Hej Alle.Jeg har et mindre problem med min mailliste. Jeg vil gerne have udviddet den, således at når en person tilmelder sig, vil personen modtage en mail med en bekræftigelse. Det kunne være kanon hvis en eller anden lige ville fikse den...
På forhånd tak...
PHP filerne der benyttes til maillisten:
Mailadmin.php
<?
if (!$PHP_AUTH_USER || !$PHP_AUTH_PW)
{
// If empty, send header causing dialog box to appear
header('WWW-Authenticate: Basic realm="Mailing List admin"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;
}
else
{
$tu = strtolower($PHP_AUTH_USER);
$pu = strtolower($PHP_AUTH_PW);
include("config.php");
if ($tu == strtolower($adminusername) && $pu == strtolower($adminpassword))
{
$fd = fopen ($listfile, "r");
$contents = fread ($fd, filesize ($listfile));
fclose ($fd);
$entries = explode(",",$contents);
for($i=0;$i<count($entries);$i++)
{
if ($entries[$i] != "")
$choices .= "<OPTION VALUE=\"$entries[$i]\"> ".$entries[$i]."\n";
}
if ($cmd != "send")
{
$output = "
<form action=\"?cmd=send\" method=\"post\">
<table align=\"left\">
<tr>
<td>
<SELECT MULTIPLE SIZE=5 NAME=sendto[]>
<OPTION VALUE=\"All\" selected>Send til alle
$choices
</select>
</td>
</tr>
</table>
<table align=\"center\">
<tr>
<td nowrap>Emne på mail:</td><td><input type=\"text\" size=\"30\" name=\"subject\"></td>
</tr>
<tr>
<td nowrap valign=\"top\">Meddelelsens indhold:</td><td><textarea name=\"body\" rows=\"8\" cols=\"50\"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type=\"checkbox\" name=\"useheader\" value=\"yes\"> Indsæt overskrift
<input type=\"checkbox\" name=\"usefooter\" value=\"yes\"> Indsæt E-signatur</td>
</tr>
<tr>
<td></td>
<td><input type=\"submit\" value=\"Send Mail\"></td>
</tr>
<tr>
<td></td>
<td>Vær opmærksom på at der kan gå lidt tid før mailen er sendt til alle.</td>
</tr>
</table>
";
}else
{
for ($i=0;$i<count($sendto);$i++)
{
echo "".$sendto[$i]." <br>";
}
$footerd = fopen ($footerfile, "r");
$thefooter = fread ($footerd, filesize ($footerfile));
fclose ($footerd);
$headerd = fopen ($headerfile, "r");
$theheader = fread ($headerd, filesize ($headerfile));
fclose ($headerd);
if ($useheader == "yes")
$message .= "".$theheader."\n\n";
$message .= "".$body."\n\n";
if ($usefooter == "yes")
$message .= "".$thefooter."";
if ($sendto[0] == "All")
{
for($i=0;$i<count($entries);$i++)
{
mail($entries[$i], $subject, $message,
"From: ".$fromemail."");
}
}
else
{
for($i=0;$i<count($sendto);$i++)
{
mail($sendto[$i], $subject, $message,
"From: ".$fromemail."");
}
}
$output = "sent";
}
echo $output;
}
else // Does output if username/password is incorrect
{
echo " <html><body>Invalid Login/Password</body></html> ";
}
}
Maillist.php
<?
error_reporting(0);
include("config.php");
function checkmail ($email)
{
global $listfile;
$fd = fopen ($listfile, "r");
$contents = fread ($fd, filesize ($listfile));
fclose ($fd);
if (@stristr($contents,$email))
$valid = "invalid";
if (eregi("^[_\.0-9a-z-]+@([0-9a-z][-0-9a-z\.]+)\.([a-z]{2,3}$)", $email) && !isset($valid))
$valid = "valid";
else
$valid = "invalid";
return $valid;
}
if ($action == "subscribe" && isset($email))
{
$valid = checkmail($email);
if ($valid == "valid")
{
$fp = fopen($listfile, 'a+');
flock($fp,2);
fwrite($fp,"".strtolower($email).",");
fclose($fp);
header ("Location: ".$welcome."");
exit;
}
else {
header ("Location: ".$error."");
exit;
}
}
elseif ($action == "unsubscribe" && isset($email))
{
$fd = fopen ($listfile, "r");
$contents = fread ($fd, filesize ($listfile));
fclose ($fd);
$allpeople = "";
$entries = explode(",",$contents);
for($i=0;$i<count($entries);$i++)
{
if (strtolower($email) == strtolower($entries[$i]))
$found = "yes";
elseif ($entries[$i] != "")
$allpeople .= "".$entries[$i].",";
}
if ($found == "yes")
{
$fp = fopen($listfile, 'w');
fwrite($fp,$allpeople);
fclose($fp);
}
header ("Location: ".$goodbye."");
exit;
}
else
header ("Location: ".$error."");
exit;
?>
Config.php
<?
error_reporting(0);
$listfile = "list.txt";
$headerfile = "header.txt"; // The header for an email message (when in admin you can choose not to include it)
$footerfile = "footer.txt"; // The footer for an email message (when in admin you can choose not to include it)
$adminusername = "bruger"; // Username for logging in to mailadmin.php
$adminpassword = "password"; // password for logging in to mailadmin.php
$fromemail = "mail@mail.dk"; // Email address the emails will be sent from.
$welcome = "e-nyt-tilmeld.php"; // file it redirects to after signing up
$goodbye = "e-nyt-afmeld.php"; // file it redirects to after removing yourself from the list
$error = "e-nyt-fejl.php"; // file it redirects to if its in invalid email etc
?>
