Nyhedsbrev - HTML mail m.m.
Hej eksperter,Jeg er ved at forsøge med et nyhedsbrev-scripts. Der er tilmeldingsside (afmeld kommer, når det virker), og en side, hvor jeg kan sende nyhedsbreve ud. Det virker fint med plain text. Men jeg vil gerne have, at der kan bruges HTML kode på siden, og muligvis noget med, at dem som ikke har en email klient, som understøtter HTML, får det vist som plain text. Har kigget lidt på nettet, men kan ikke få det til at virke.
Derudover har jeg et simpelt spørgsmål; skal e-mailsene MD5'es eller lign, og i så fald, hvordan bruger man så den hashede mail?
Derudover er andre råd omkring nyhedsbreve meget velkomne.
Tilmeld-siden:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Nyhedsbrev</title> <!-- Husk ny titel !-->
<link href="style.css" type="text/css" rel="stylesheet">
<link rel="shortcut icon" href="favicon.ico">
</head>
<body>
<?
if (isset($_POST['submit'])) {
$mail = $_POST["e-mail"];
$error = "";
$allerede_tilmeldt = "Din e-mail er allerede på listen.";
$success = "Tak, fordi du tilmeldte dig nyhedsbrevet.";
function check_email_address($email) {
* Koden fjernet *
}
if($mail == "" || check_email_address($mail) == false) {
$error .= "Du har ikke indtastet en gyldig e-mail.";
}
mysql_connect("*", "*", "*");
mysql_select_db("*");
if($error == "") {
$select_mail = mysql_query("SELECT mail FROM nyhedsbrev WHERE mail='$mail'");
if(mysql_num_rows($select_mail) == 1) {
echo $allerede_tilmeldt;
} else {
mysql_query("INSERT INTO nyhedsbrev(mail) VALUES ('$mail')");
echo $success;
}
}
else {
echo $error;
}
}
?>
<form action="<? $PHP_SELF; ?>" method="post">
E-mail: <br/>
<input type="text" name="e-mail" id="input"> <br/>
<input name="submit" type="submit" value="Tilmeld">
</form>
</body>
</html>
------------------------------------------------------
og "send-nyhedsbrev":
------------------------------------------------------
<html>
<head>
<link href="style.css" type="text/css" rel="stylesheet">
</head>
<body>
<h1>Send nyhedsbrev</h1>
<?
if(isset($_POST["submit"])) {
$emne = $_POST["emne"];
$besked = $_POST["besked"];
$body = "
<html>
<body>
<img src='http://devdesign.dk/learn2code/img/newsletter-logo.png'> <br> <br>
<p style='font-family: verdana; font-size: 13px;'>" . $besked . "</p>
<br/> <br/>
</body>
</html>";
$headers = "From: newsletter@devdesign.dk\r\nContent-type: text/html; charset=\"iso-8859-1\"";
$error = "";
if($emne == "") {
$error .= "Der er ikke indtastet et emne. <br>";
}
if($besked == "") {
$error .= "Der er ikke indtastet en besked. <br>";
}
mysql_connect("*", "*", "*");
mysql_select_db("*");
$count_mails = 0;
if($error == "") {
$get_mails = mysql_query("SELECT * FROM nyhedsbrev");
while($mail_array = mysql_fetch_array($get_mails)) {
$mails = ($mail_array["mail"]);
mail($mails, $emne, $besked, $headers);
$count_mails++;
}
echo "<div id=\"success\">Nyhedsbrevet er sendt til <b>" . $count_mails . " mails.</b></div>";
}
else {
echo "<div id=\"error\">" . $error . "</div>";
}
}
?>
<form action="<? $PHP_SELF; ?>" method="post">
Emne: <br/>
<input type="text" name="emne" id="input"> <br/>
Besked: <br/>
<textarea type="text" name="besked" id="textarea">
<input name="submit" type="submit" value="Send nyhedsbrev">
</form>
</body>
</html>
------------------------------------------------------
Jeg er rimelig ny til PHP, så hvis I har andre rettelser, så sig dem endelig - og forklar gerne. Der er 100 point på spil.
Mvh.
Christian
