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.