VIGTIGT!
Denne artikel er IKKE skrevet af NemProgrammering.dk, men af en af vores brugere! Nemprogrammering.dk tager hverken ansvar eller æren for artikler skrevet af andre end Nemprogrammering.dk - Se videoer og læs artikler lavet af vores PROFESSIONELLE TEAM HER
Skrevet af: Kim Vinberg
I denne video vil jeg give jer et script som udsender mails til alle de personer med mails man har stående i databasen.
Alle PHP dele skulle være forklaret så alle kan forstår det og der skal kun ændres minimalt i det (tabel og database forbindelse). Du skal altså blot copy-paste dette script ind i din kode og derefter rette lidt til så det passer med din egen side og database. Forklaringer på, hvad der sker linje for linje i scriptet er angivet inline i selve php scriptet.
----------------------------------------------------
UDSENDELSE AF NYHEDER MED MAILS FRA DATABASE
----------------------------------------------------
Trin 1 : Opsættelse af HTML formularen.
* Kald denne fil sendmail.php
Kode:
<form method="post" action="Mailout.php" name="mailout"> <div id="output"></div> <table cellpadding="0" cellspacing="0"> <tr> <td>Emne felt</td> <td><input type="text" name="subject" size="50"></td> </tr> <tr> <td></td> <td> <textarea name="message" id="wysiwyg" rows="40" cols="65"></textarea></td> </tr> </table> <input type="submit" value="Udsend"> </form>
Trin 2 : PHP delen
* Opret filen Mailout.php
Kode:
<?php
include("database_connection.php"); // Forbind til din database
$subject_raw = htmlentities($_POST['subject']); // Hent emne
$message_raw = $_POST['message']; // Hent beskeden
$recipients = mysql_query("SELECT * FROM maillinglist") or die(mysql_error()); // Hent modtagere fra tabellen maillinglist - ændre denne til dit tabel navn.
if(mysql_num_rows($recipients) > '0') { // Hvis der er over 0 modtagere, fortsæt
$i = "0"; // Nustil tæller.
while($result = mysql_fetch_assoc($recipients)) { // For hver resultat af modtager - For hver resultat af modtager - gør følgende
if($i == '0') { // Hvis tælleren er nul, det vil sige at det er den første mail der bliver sendt. Så er adressen kun den mail.
$adresses = "".$result['mail']." <".$result['mail'].">";
} else { // Hvis tælleren er over nul, så skal den huske at få mail adresse 1 med og det samme med mail adresse nummer 2.
$adresses = "$adresses, ".$result['mail']." <".$result['mail'].">";
}
$i++; // Tæl +1 indtil $i er nået
}
$sendcount = $i+1;
//Send informationer
$from = "From: FRA MIG <example@example.com>"; // Hvem er beskeden fra
$to = "TIL DIG<example@example.com>"; // skal være samme mail som FRA
$headers = "Bcc: $adresses \r\n"; // Hvem skal modtage mailen (skjult modtagere)
$headers .= "MIME-Version: 1.0 \r\n"; // Så virker HTML i mailen
$headers .= "Content-type: text/html; charset=iso-8859-1 \r\n"; // kedeligt charset
$headers .= "$from \r\n"; //Sætter afsender i mailens header
//Sender mailen
$mail = mail($to, $subject_raw, "<html><body>$message_raw</body></html>", $headers); // send mail
}
header('Location: sendmail.php'); // tilbage til forrige side.


