mail() returnerer altid true, hvis funktionen findes - mailen bliver nemlig ikke sendt samme millisekund som du kalder funktionen men asynkront af denne. Derfor ved du ikke, om mailen rent faktisk bliver sendt bare fordi mail returnerer true.
forstår jeg det et at den kun vil komme med fejl, hvis den ikke kan finde php'en ellers vil den returnere ok, hvilket ikke er ok til at mailen er sendt men ok til at php'en er fundet og har kørt mail funktionen.
Du kan ikke lave det på anden måde uden at lave hele mailafsendelsen direkte i php'en - hvilket nu heller ikke er svært, men kræver at du kender lidt til smtp-protokollen og at arbejde med sockets.
Det gør jeg ikke (smtp og sockets) hvad kan gå galt efter php ( man får et ok, men mailen bliver ikke sendt ) og kan man sige noget om hyppigheden af sådanne fejl? Jeg tænker på om det ikke er nok med at få bekræftet ( successfully accepted for delivery ).
Først kan gå galt på serveren selv, måske den aktive mail process er gået i stå af en eller anden årsag eller den ikke vil levere til den pågældende adresse af en eller anden årsag (ikke gyldig email måske). så kan det også være et problem hos modtageren, måske modtageren slet ikke har en mail server eller måske ikke gider modtage mails eller andet.
Men hvis du en gang kan sende mail fra dit site, så gå ud fra at du altid kan sende mails - med mindre der sker noget på serveren eller mailen ikke er en gyldig mail-adresse.
I det her tilfælde er det altid den samme e-mail der sendes til , så Jeg satser og prøver thulstrup's return-halløj og håber på at det nok ( skulle der smutte en enkelt er det ikke verdens undergang )
thulstrup smider du ikke et svar så fordeler jeg point
Ok, men eftersom man ikke (uden videre) kan checke om mailen bliver sendt, så er der jo ingen grund til at få PHP til at sende svar retur. Så kan du jo lige så godt bare skrive det direkte i Flash'en istedet:
loadVariablesNum ("sendmail.php3", 9, "POST"); trace("mailen blev sendt...tror jeg :o)")
eller med LoadVars:
var sendmail_lv = new LoadVars(); sendmail_lv.emne = emne; sendmail_lv.navn = navn; sendmail_lv.tlfnr = tlfnr; sendmail_lv.dinbody = dinbody; sendmail_lv.sendAndLoad("sendmail.php3", sendmail_lv, "POST"); trace("mailen blev sendt...tror jeg :o)");
Det vil jeg faktisk give thulstrup ret i. mail() returnerer aldrig fejl, med mindre mailafsendingsservicen slet ikke kører. Bare der kører en lokal smtp-ting som php kan aflevere til, så vil mail() returnere true.
Og tark for de overvældende mange points :P
Synes godt om
Ny brugerNybegynder
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.