Avatar billede csuperman Nybegynder
01. april 2003 - 11:06 Der er 10 kommentarer og
3 løsninger

Email funktion virker ikke

Hej.

Jeg har lavet et script der skulle sende en mail til en bruger. Men der kommer ikke nogen mail frem, selv om scriptet ikke melder nogle fejl.

Kan i se nogle fejl/mangler i følgende:

<?
include "connect.php";
?>

<html>
<body>


<FORM METHOD="post" action="email.php">
<INPUT TYPE="hidden" VALUE="ok" NAME="tjek4">
<SELECT name="email">
<?
$foresp2=mysql_query("select k_id, fornavn, efternavn, email FROM kunde ORDER BY fornavn");
while(list($k_id4, $fornavn, $efternavn, $email) = mysql_fetch_row($foresp2)) {
echo "\t<option value=\"$email\">$fornavn    $efternavn</option>\r\n";
}   
?>
</SELECT>
<INPUT TYPE="submit" VALUE="Send">
</FORM>

<?

$tjek4=$_POST["tjek4"];
$email=$_POST["email"];

if($tjek4=="ok") {

mail($email, "Huske mail", "Husk at du skal aflevere dine vare tilbage inden 2 dage. \n På forhånd tak.", "from: cs@benzin-priser.dk reply-to: cs@benzin-priser.dk");

echo "Brevet er sendt til $email";

}

?>

</body>
</html>

PFT
Csuperman
Avatar billede tipsen Nybegynder
01. april 2003 - 11:35 #1
Prøv følgende og fortæl om resultatet;

$mailsuccess = mail($email, 'Huske mail fra benzin-priser', "Husk at du skal aflevere dine varer tilbage inden 2 dage.\nPå forhånd tak.", "from: cs@benzin-priser.dk\n\rreply-to: cs@benzin-priser.dk");
if ($mailsuccess) {
  echo "Mailen er sendt til $email";
} else {
  echo "Mailen kunne ikke sendes til $email";
}
Avatar billede csuperman Nybegynder
01. april 2003 - 11:49 #2
Lige så snart jeg kommer ind på siden skriver den: Mailen kunne ikke sendes til
Og jeg når jeg så prøver at sende mailen, skirver den igen, at den ikke kunne sendes.

Jeg har sat det ind således:
<FORM METHOD="post" action="email.php">
<INPUT TYPE="hidden" VALUE="ok" NAME="tjek4">
<SELECT name="email">
    <?
    $foresp2=mysql_query("select k_id, fornavn, efternavn, email FROM kunde ORDER BY fornavn");
    while(list($k_id4, $fornavn, $efternavn, $email) = mysql_fetch_row($foresp2)) {
    echo "\t<option value=\"$email\">$fornavn $efternavn</option>\r\n";
    }   
    ?>
    </SELECT>
<INPUT TYPE="submit" VALUE="Send">
</FORM>


<?

$tjek4=$_POST["tjek4"];

$mailsuccess = mail($email, 'Huske mail fra benzin-priser', "Husk at du skal aflevere dine varer tilbage inden 2 dage.\nPå forhånd tak.", "from: cs@benzin-priser.dk\n\rreply-to: cs@benzin-priser.dk");
if ($mailsuccess) {
  echo "Mailen er sendt til $email";
} else {
  echo "Mailen kunne ikke sendes til $email";
}
?>
Avatar billede binderup Nybegynder
01. april 2003 - 11:56 #3
hvilken server snakker vi om? og har du undersøgt om php.ini er stat korrekt op.

Hvis det er en windows server så skal du i php.ini indtaste oplysninger om smtp-server og er det en linux box så skal du være sikker på at sendmail er installeret og sat korrekt op (eller exim hvis du bruger det i stedet for sendmail)
Avatar billede csuperman Nybegynder
01. april 2003 - 12:08 #4
Det er windows med Apache.
Jeg har sat følgende:
[mail function]
; For Win32 only.
SMTP = mail.benzin-priser.dk

; For Win32 only.
sendmail_from = cs@benzin-priser.dk
Men det virker forsat ikke, hverken med mit eget eller tipsens forslag.
Avatar billede binderup Nybegynder
01. april 2003 - 12:10 #5
Er din mail server den samme om din httpd server?

Hvis ikke er du så sikker på at du må lave mail relay til mailserveren?
Avatar billede csuperman Nybegynder
01. april 2003 - 12:14 #6
Nu er jeg ikke helt med :-/
Gider du uddybe??
Avatar billede binderup Nybegynder
01. april 2003 - 12:15 #7
lad os sige at du har en server stående på en TDC adsl forbindelse og mailserveren stående ved en webhotel udbyder. Så skal du under smtp bruge smtp.mail.dk da du er på TDC net.
Avatar billede csuperman Nybegynder
01. april 2003 - 12:19 #8
ok :-) nu forstår jeg.
Jeg kan sagtens sende mails fra outlook, med cs@benzin-priser.dk via mail.benzin-priser.dk
Så det burde ikke være det der er problemet.
Avatar billede tipsen Nybegynder
01. april 2003 - 13:08 #9
Hvad er resultatet af denne: (ordret!)

<?
include 'connect.php';
?>
<html>
<body>

<FORM METHOD="post" action="email.php">
<INPUT TYPE="hidden" VALUE="ok" NAME="tjek4">
<SELECT name="email">
<?
$foresp2=mysql_query('SELECT fornavn, efternavn, email FROM kunde ORDER BY fornavn");
while(list($fnavn, $enavn, $email) = mysql_fetch_row($foresp2)) {
  echo "\t<option value=\"$email\">$fornavn $efternavn</option>\r\n";
}
?>
</SELECT>
<INPUT TYPE="submit" VALUE="Send">
</FORM>
<?
if ($_SERVER['REQUEST_METHOD'] = 'POST' && $_POST["tjek4"]='ok') {
  $email = $_POST['email'];
  $mailsuccess = mail($email, 'Reminder fra benzin-priser', "Husk at du skal aflevere dine varer tilbage inden 2 dage.\r\n\r\nPå forhånd tak.", "from: cs@benzin-priser.dk\n\rreply-to: cs@benzin-priser.dk");
  if ($mailsuccess) {
    echo "Mailen er sendt til $email";
  } else {
    echo "Mailen kunne ikke sendes til $email";
  }
}
?>
</body>
</html>
Avatar billede tipsen Nybegynder
01. april 2003 - 13:09 #10
-bemærk at der er lavet nogle smårettelser rundt om i scriptet - dem kan du jo tage til dig, hvis du har lyst.
Avatar billede csuperman Nybegynder
01. april 2003 - 14:26 #11
hmm ... siden forbliver blank. Der kommer intet frem :-(
Avatar billede tipsen Nybegynder
01. april 2003 - 15:43 #12
ikke engang formularen?

-prøv at rette til:

if ($_SERVER['REQUEST_METHOD'] = 'POST' && $_POST["tjek4"]='ok') {
  $email = $_POST['email'];
  $mailsuccess = mail($email, 'Reminder fra benzin-priser', "Husk at du skal aflevere dine varer tilbage inden 2 dage.\r\n\r\nPå forhånd tak.", "from: cs@benzin-priser.dk\n\rreply-to: cs@benzin-priser.dk");
  if ($mailsuccess) {
    echo "Mailen er sendt til $email";
  } else {
    echo "Mailen kunne ikke sendes til $email";
  }
} else {
  echo "Request: " . $_SERVER['REQUEST_METHOD'] . "<br>";
  echo "tjek4: " . $_POST['tjek4'] . "<br>";
  echo "email: " . $_POST['email'] . "<br>";
}
Avatar billede csuperman Nybegynder
26. april 2003 - 23:53 #13
Jeg har desværre ikke kunne få det til at virke, men jeg går udfra at problemet mere ligger hos mig og min apache-server, end den ligger i din kode :-).

Jeg deler point'ne lidt ud, da i da har gjort en indsats.
Tak for hjælpen, begge to.
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