Avatar billede weblance Nybegynder
02. april 2010 - 17:19 Der er 3 kommentarer og
1 løsning

Kan ikke få nyhedsbrev script til at virke

Jeg er ved at lave et simpelt nyhedsbrev script, hvor email adresserne ligge i en database, men jeg kan ikke få det til at virke. Selve send scriptet ser sådan ud:

$emne = "Nyhedsbrev"; //Emnefeltet
$header  = "MIME-Version: 1.0" . "\r\n";
$header .= "Content-type: text/html; charset=utf-8" . "\r\n";
$header .= "From:nyhedsbrev@domain.dk";
$besked = $_POST['newsletter'];

$con = mysql_connect("localhost","bruger","kode");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("database", $con);

$result = mysql_query("SELECT * FROM maillist");

while($row = mysql_fetch_array($result))
  {                       
      $modtager = $row['Email'];
    mail($modtager, $emne, $besked, $header);
  }

mysql_close($con);

Hvad gør jeg galt?
02. april 2010 - 17:59 #1
Jeg tror ikke problemet ligger i den kode du viser.  Jeg lavede en mysql tabel som jeg kaldte weblance i stedet for maillist og jeg kom for skade at kalde feltet email i stedet for Email, og jeg har hardkodet en besked i stedet for at tage den fra $_POST['newsletter'] men naar jeg retter de to ting saa kan jeg indsaette din kode i en php site og faa det til at virke.  Hvis du oensker (og opgiver email adresse) kan jeg proeve at sende det fra min php site til dig.  Her er min kode:

<?
$emne = "Nyhedsbrev"; //Emnefeltet
$header  = "MIME-Version: 1.0" . "\r\n";
$header .= "Content-type: text/html; charset=utf-8" . "\r\n";
$header .= "From:nyhedsbrev@domain.dk";
$besked = "Dette er et nyhedsbrev!";

$link = mysql_connect ('xxxx.be.mysql', 'yyyy', 'zzzz') or die(mysql_erorr());
mysql_select_db('qqqq') or die('Could not select database');
$result = mysql_query("SELECT * FROM weblance") or die(mysql_error());

while($row = mysql_fetch_array($result))
  {                     
      $modtager = $row['email'];
echo $modtager."<br/>";
    mail($modtager, $emne, $besked, $header);
  }
mysql_close($link); 
?> 

Kan dit problem ligge i tabellen? (Du kunne proeve i querien at indsaette "or die(mysql_error()) som jeg har gjort) eller kan det ligge i $_POST['newsletter'] at der kommer en forkert (eller ingen) besked?  Du kunne proeve at indsaette echo $_POST['newsletter'].
Avatar billede weblance Nybegynder
02. april 2010 - 18:19 #2
Ja du har ret, scriptet virker som det skal. Problemet ligger åbenbart i at mailen på en eller anden måde ikke når frem til min mailkonto som ligger på samme server som scriptet. Derimod modtager min gmail den besked som bliver sendt ud.

Mærkeligt...

Tak for indsatsen Christian!
02. april 2010 - 18:38 #3
I saa fald her er et svar.
Avatar billede weblance Nybegynder
02. april 2010 - 20:04 #4
Takker
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