Avatar billede retake Nybegynder
03. december 2007 - 11:25 Der er 9 kommentarer og
1 løsning

Send mail to alle bruger i database?

Hej jeg skal havde lavet en send html mail fra min hjemmeside

Jeg skal kunne skrive en besked i html form og sende den til alle bruger i min database.

Så når beskeden er skrevet skal jeg bare trykke send og den sender til alle uden jeg sådan rigtig skal gøre noget?

Jeg kan sagtens lave formen og sende mig vidre til send_mail.php men det er her jeg går i stå! kan ikke finde ud af hvordan den skal hente alle mail addresser i databasen og sende til dem?

Vis der er nogle af jer som vil være så venlig at hjælpe mig med at støbe noget sammen vil jeg være glad :D
Avatar billede delphinarious Nybegynder
03. december 2007 - 11:59 #1
MEGET basalt script til dig her...

$mailtekst = "Her er mail-teksten!";
$mailemne = "Her er emnet!";
$c = 0;
$sql = mysql_query("select * from TABEL");
while($row = mysql_fetch_assoc($sql)) {
    mail($row["email"],$mailemne,$mailtekst);
    $c++;
}
echo "Sendt til ".$c." brugere...";
Avatar billede retake Nybegynder
03. december 2007 - 12:12 #2
jamen det er da i text format? skal der ikke gøres noget spesialt for at det bliver sendt i html format? med borders og billeder osv?
Avatar billede delphinarious Nybegynder
03. december 2007 - 12:14 #3
Nårh jo jo, jovist, men det var jo ikke det du spurgte om. ;-)

Enten sætter du det via headers (http://dk2.php.net/manual/da/function.mail.php) eller også kan jeg anbefale dig at bruge klassen phpmailer (http://phpmailer.codeworxtech.com/). Den gør det nemt og hurtigt.
Avatar billede retake Nybegynder
03. december 2007 - 13:04 #4
Jeg vil da mene at "Hej jeg skal havde lavet en send html mail fra min hjemmeside"
var det jeg spurte om?

så jo men jeg prøver lige at sætte det ind og om jeg kan få det til at virke! :D
Avatar billede retake Nybegynder
03. december 2007 - 13:12 #5
Alså sådan her?

Form side::::::::::::::::::::::::::::::::::::::::::::::::::
<? if($_SESSION['type'] = "admin"){?><!-------------------------------Secure------------------------>
<div style="border-bottom:1px solid #006699;">
<a href="?page=send.message&goto=insert">Send nyheds mail</a> -
<a href="admin.php">Tilbage</a></div>
<? if($_GET['goto'] == "insert"){?><!---------------------------------------Insert------------------------>
<p>Udfyld denne nyheds mail</p>
<form action="./_sendtoall.php" method="post">
<input type="hidden" name="do" value="news">
<input type="hidden" name="posted_by" value="<? $_SESSION['username']?>">
<p>Overskrift:<br><input type="text" name="headline"></p>
<?php
    $oFCKeditor = new FCKeditor('content');
    $oFCKeditor->BasePath = './FCKeditor/';
    $oFCKeditor->Value = '';
    $oFCKeditor->Create();
?></p>
</form>
<? }}?>



Send side::::::::::::::::::::::::::::::::::::::::::::::::::::::::
<?
$posted_by = $_POST['posted_by'];
$mailemne = $_POST['headline'];
$mailtekst = $_POST['content'];
$c = 0;
$sql = mysql_query("select * from users");
while($row = mysql_fetch_assoc($sql)) {
    mail($row["email_address"],$mailemne,$mailtekst);
    $c++;
}
echo "Sendt til ".$c." brugere...";
?>

men hvad så med html delen?
Avatar billede retake Nybegynder
03. december 2007 - 13:18 #6
<?
session_start();
include("application.php");
    if($_POST['do'] == "sta"){ //-- ```````````````````````````````news
            $posted_by = $_POST['posted_by'];
            $mailemne = $_POST['headline'];
            $mailtekst = $_POST['content'];
            $c = 0;
            $sql = mysql_query("select * from users");
            while($row = mysql_fetch_assoc($sql)) {
                    mail($row["email_address"],$mailemne,$mailtekst);
                    $c++;
            }
            Java::Alert("Sendt til ".$c." brugere...");
            Java::GoToURL("admin.php");
    }elseif($_POST['do'] == ""){ //-- ```````````````````````````````0
                Java::Alert("Der gik noget galt!");
    }
    Db::Conn(close);
?>

Sådan
Avatar billede retake Nybegynder
03. december 2007 - 13:29 #7
Nå før jeg giver dig de points kan du så ikke lige se om det her virker.?

<?
session_start();
include("application.php");
    if($_POST['do'] == "sta"){ //-- ```````````````````````````````news
            $posted_by = $_POST['posted_by'];
            $mailemne = $_POST['headline'];
            $mailtekst = '
            <html>
            <head>
                <title>'.$_POST['headline'].'"</title>
            </head>
            <body>
                '$_POST['content']'
            </body>
            </html>
            ';
            $c = 0;
            $sql = mysql_query("select * from users");
            while($row = mysql_fetch_assoc($sql)) {
                    mail($row["email_address"],$mailemne,$mailtekst);
                    $c++;
            }
            Java::Alert("Sendt til ".$c." brugere...");
            Java::GoToURL("admin.php");
    }elseif($_POST['do'] == ""){ //-- ```````````````````````````````0
                Java::Alert("Der gik noget galt!");
    }
    Db::Conn(close);
?>

Vil ikke sende en besked vis den laver fejl og sender en masse kedelig fejl :)
Avatar billede retake Nybegynder
03. december 2007 - 13:41 #8
som den er nu modtager jeg den som skrald!

<html>            <head>                <title>test"</title>            </head>            <body>                <p>test</p>            </body>            </html>           

og det skal den jo ikke
Avatar billede retake Nybegynder
04. december 2007 - 10:22 #9
Nå tak for et halvt job!
Avatar billede delphinarious Nybegynder
04. december 2007 - 10:35 #10
Først: Undskyld - mig der ikke havde læst dit spørgsmål godt nok.

Dernæst: Sorry - jeg blev opholdt af noget andet. Sådan kører et forum, jo - man svarer når man har tid, og når man ikke har tid, så er der forhåbenligt andre der tager over, og ellers må man væbne sig med tålmod.

Og så angående din løsning... Jeg har ikke testet din kode, men det ser da rigtig nok ud - bortset fra at du stadig mangler dine headers, så det kan betragtes som HTML-mail.

$headers = "To: ".$navn." <".$email.">\n";
$headers .= "From: NAVN <info@domain.dk>\n";
$headers .= "Reply-To: NAVN <info@domain.dk>\n";
$headers .= "Return-Path: NAVN <info@domain.dk>\n";
$headers .= "Message-ID: <".date("YmdHis")." website@".$_SERVER["SERVER_NAME"].">\n";
$headers .= "X-Mailer: PHP v".phpversion()."\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";

Og så lav din mail() om til: mail("",$mailemne,$mailtekst,$headers);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester