Avatar billede mesteren_selv Nybegynder
07. december 2007 - 10:40 Der er 9 kommentarer og
1 løsning

Fejl i mailscript

Hej Folkens!

Er der nogen der kan gennemskue hvad der er galt med nedenstående mailscript? Den sender simpelthen ikke mailen...

<?php
if ($mailtest) {
$mail = $_POST['mail'];

echo $mail."<br><br>";

$subject = "Porcelænsdukkens billetbestilling";

$message = "
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title>Porcelænsdukkens Billetbestilling</title>
</head>
<body>
<table border='0' width='600'>
  <tr>
    <td><img src='http://billet.porcelaensdukken.dk/pdbb_logo.png' alt='Porcelænsdukkens Billetbestilling' border='0'></td>
  </tr>
  <tr>
    <td><font face='Verdana, Arial, Helvetica, sans-serif' size='2'><strong>Kære Navn<br><br>
    Du har bestilt 2 børnebilletter og 2 voksenbilletter
    til forestillingen Test
    </strong>
    </font>
    </td>
  </tr>
</table>
</body>
</html>";

echo $message;

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "To: <$mail>\r\n";
$headers .= "From: Porcelænsdukken <info@porcelaensdukken.dk>\r\n";

mail($mail, $subject, $message, $headers);
}
?>

Mvh. og på forhånd tak. Mesteren
Avatar billede erikjacobsen Ekspert
07. december 2007 - 10:45 #1
Du behøver ikke
  $headers .= "To: <$mail>\r\n";
Den er sat af første parameter i mail()-funktionen.

Mem hvor kommer $mailtest fra i: if ($mailtest) {  ?
Avatar billede mesteren_selv Nybegynder
07. december 2007 - 11:03 #2
Nå ja...

Jeg har en form nedenunder der linker til "?mailtest=1", bare for at aktivere scriptet, det er også her man skriver mailadressen... Jeg kunne selvfølgelig også bare lave den til if($_POST['mail'])

Jeg tror dog ikke det er her problemet ligger, eftersom den kører scriptet og echo'er  $message...
Avatar billede michael_stim Ekspert
07. december 2007 - 11:04 #3
Måske: if(isset($_GET['mailtest'])){
Avatar billede erikjacobsen Ekspert
07. december 2007 - 11:13 #4
Ok, du fjerner "To:...." delen af dine $headers, og så skifter du linie med \n i stedet for med \r\n
Avatar billede mesteren_selv Nybegynder
07. december 2007 - 11:22 #5
Hmm.. Det gør ingen forskel..

Jeg kan se at if()-sætningen fungerer, fordi den viser mailen når jeg kører den...

Der er ikke et eller andet sted på serveren hvor den skal indstilles til at kunne sende mail?
Avatar billede erikjacobsen Ekspert
07. december 2007 - 11:27 #6
Er det din egen server?
Avatar billede mesteren_selv Nybegynder
07. december 2007 - 11:30 #7
Det er en surftown server. Det sjove er at det har fungeret, og jeg har et lignende script der fungerer på samme server... Jeg kan virkelig ikke gennemskue hvad der er galt!
Avatar billede erikjacobsen Ekspert
07. december 2007 - 11:33 #8
Jamen, så er der jo nok noget galt ;)
1) Du skal forøvrigt ikke slutte den sidste linie i $header med et linieskift
2) I småtingafdelingen: hvorfor 2 forskellige tegnsæt?
3) Nogle webhoteller kræver at afsender-email-adressen faktisk eksisterer
4) Fjern lige den der MIME-linie - du har ingen MIME-ting i mailen
5) Og du har checket spam-filteret. Generelt er mails sendt fra script, bl.a. PHP, svære at få forbi et spamfilter.
Avatar billede mesteren_selv Nybegynder
11. december 2007 - 12:58 #9
Nu har jeg rettet de nævnte ting, og det virker stadig ikke...

Det spøjse er jo altså at det har fungeret på samme server...
Avatar billede mesteren_selv Nybegynder
28. juli 2008 - 14:12 #10
Lukker spørgsmålet...
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