NemProgrammering.dk logo
nordicway webhotel

Massemails / fælles mail med php

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.