Avatar billede kongfjong Nybegynder
05. marts 2005 - 18:59 Der er 8 kommentarer og
1 løsning

Kendt problem med header, men kan ikke se output

Hey;

Jeg har en fil, hentkode_check.php der genererer et nyt kodeord til folk og gerne skulle sende det ud pr. mail. Men jeg får den altid behagelige header fejl:

Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in D:\Apache Group\Apache2\htdocs\fmground\hentkode_check.php on line 45

Scriptet ser således ud:

<?php
session_start();
include("mysqlconn.php");

function genererKodeord()
{
    $length = mt_rand(6, 12);
   
    $konsonanter = 'bcdfghjkmnprstv';
    $vokaler = 'aeiouy';
    $tal = '1234567890';
   
    $konsonant_length = strlen($konsonanter);
    $vokal_length = strlen($vokaler);
    $tal_length = strlen($tal);
   
    $kodeord = "";
    while(strlen($kodeord) < $length)
    {
        if (mt_rand(0, 2) != 1)
        $kodeord .= $konsonanter[mt_rand(0, ($konsonant_length - 1))].$vokaler[mt_rand(0, ($vokal_length - 1))].$konsonanter[mt_rand(0, ($konsonant_length - 1))];
        else
        $kodeord .= $tal[mt_rand(0, ($tal_length - 1))];
    }
   
    return substr($kodeord, 0, $length);
}

$mail = $_POST['hentkodeMail'];

$sql = "SELECT * FROM users WHERE email = '$mail'";

$mailres = mysql_query($sql, $conn) or die(mysql_error());

if (mysql_num_rows($mailres) == 1)
{
    $brugerarray = mysql_fetch_array($mailres);
    $nykode = genererKodeord();
    $modtagernavn = $brugerarray['username'];
    $modtagermail = $mail;
    $emne = "Automatisk generering af kodeord.";
    $besked ="Hej $modtagernavn!\n\n Du har bedt om at få tilsendt et nyt kodeord.\n\nDit nye kodeord er $nykode. Du kan gå ind og ændre det med det samme, ved at klikke på nedenstående link:\n\n<a href=\"www.mitdomæne.dk/login.php\">Login her.</a>\n\nMed venlig hilsen\n\nCrew'et på mitdomæne.dk.";
    $afsender = "Fra: mitdomæne.dk <webmaster@mitdomæne.dk>";
   
    mail($modtagermail, $emne, $besked, $afsender);
   
    header("Location: hentkode.php?hentkode=sendt");
    exit;
}
?>

Jeg kan ikke se, hvor fejlen ligger. Ved der ikke må komme output før en header, men det kan jeg heller se der gør her.

Denne fil, er action i en formular der er opbygget i en anden fil, lad os kalde den fil1.php. fil1.php bliver så inkluderet i hentkode.php, så kan ikke rigtigt se problemet...
Avatar billede blackscorpion Nybegynder
05. marts 2005 - 19:23 #1
prøv at fjerne Fra: i $afsender = "Fra: mitdomæne.dk <webmaster@mitdomæne.dk>";

det ser ud til i manualen at det kun er email adressen der må stå der, er dog ikke sikker.

<?php
mail("nobody@example.com", "the subject", $message,
    "From: webmaster@{$_SERVER['SERVER_NAME']}", "-fwebmaster@{$_SERVER['SERVER_NAME']}");
?>
Avatar billede kongfjong Nybegynder
05. marts 2005 - 20:15 #2
Okay.

Det hjælper bare ikke så meget på header-problemet synes jeg:)
Avatar billede plx Nybegynder
05. marts 2005 - 21:12 #3
Avatar billede kongfjong Nybegynder
05. marts 2005 - 22:28 #4
Tja, kan det værefordi det er lokaltpå min maskine, for har nu sat min php.ini-fil op, således:

[mail function]
; For Win32 only.
SMTP = post.cybercity.dk
smtp_port = 25

; For Win32 only.
sendmail_from = mail@maildomæne.dk

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

Og det er sådan det skal være ifølge din artikel på Webcafé'en. Og jeg har self husket at lave det om, så det bliver:

$afsender = "From: mail@mitdomæne.dk";
Avatar billede blackscorpion Nybegynder
05. marts 2005 - 22:59 #5
det er ligegyldigt hvad $afsender er, sendmail_from er kun i det tilfælde at $afsender ikke er sat i mail();

:D
Avatar billede kongfjong Nybegynder
06. marts 2005 - 01:21 #6
Okay. Prøvede at smide det op på mit domæne, og der virkede perfekt, så det er bare fordi det er på en lokal maskine jeg kører det, at det ikke virker...
Avatar billede blackscorpion Nybegynder
06. marts 2005 - 02:24 #7
ahh okey, shit happens. :D
Avatar billede kongfjong Nybegynder
06. marts 2005 - 11:01 #8
Afviste dit svar fordi jeg jo fandt ud af, at det jeg havde fra starten virkede fint på domænet, bare ikke lokalt;)
Avatar billede blackscorpion Nybegynder
06. marts 2005 - 16:35 #9
:D
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