04. april 2004 - 10:53Der er
24 kommentarer og 2 løsninger
Warning: mail: "sendmail_from" not set
Jeg kører Windows XP og bliver ved med at få denne fejl: Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in D:\HTML\test.php on line 20.
Min php.ini: [mail function] ; For Win32 only. SMTP = smtp.mail.dk
; For Win32 only. sendmail_from = je79ayps@mail.dk
Jeg har googlet lidt på det og umiddelbart ser det ud til at det er et Windows 2000/XP problem, men jeg kan ikke finde nogle løsninger på det.
Har du genstartet din webserver efter at have rettet i php.ini ?
Er du sikker på at du retter i den rigtige php.ini ? Du kan tjekke hvilken php.ini der bruges i webserveren ved at lave et tomt php-dokument med indholdet:
<?php phpinfo(); ?>
Tjek hvad der står ud for "Configuration File (php.ini) Path".
Kan der evt. være fejl i din "From" header? - således at du rent faktisk overskriver den korrekte globale værdi (fra php.ini) med en værdi der er enten tom eller bare garbage?
Jeg kører med Apache/2.0.44 (Win32) PHP/4.3.2 på en W2K og her fungerer det fint!
E_ALL - All errors and warnings ; E_ERROR - fatal run-time errors ; E_WARNING - run-time warnings (non-fatal errors) ; E_PARSE - compile-time parse errors E_NOTICE - run-time notices (these are warnings which often result
Med det behøver jeg måske ikke at gøre når error_reporting = E_ALL & ~E_NOTICE er på. Jeg vil gerne blive gjort opmærksom på alt hvad der har med fejl eller lign. at gøre.
Umiddelbart har fejlrapporteringsniveauet vel ikke betydning for at det kikser når man forsøger at sende mails - men det skal selvf. rettes alligevel - her er en kopi fra min php.ini, hvis det kniber:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; error_reporting is a bit-field. Or each number up to get desired error ; reporting level ; E_ALL - All errors and warnings ; E_ERROR - fatal run-time errors ; E_WARNING - run-time warnings (non-fatal errors) ; E_PARSE - compile-time parse errors ; E_NOTICE - run-time notices (these are warnings which often result ; from a bug in your code, but it's possible that it was ; intentional (e.g., using an uninitialized variable and ; relying on the fact it's automatically initialized to an ; empty string) ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's ; initial startup ; E_COMPILE_ERROR - fatal compile-time errors ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) ; E_USER_ERROR - user-generated error message ; E_USER_WARNING - user-generated warning message ; E_USER_NOTICE - user-generated notice message ; ; Examples: ; ; - Show all errors, except for notices ; ;error_reporting = E_ALL & ~E_NOTICE ; ; - Show only errors ; ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; ; - Show all errors ; error_reporting = E_ALL
tipsen: selom jeg fjerne er heller skriver e-mail direkte i er det samme fejl. htm: nej, ingen fejl. Men hvis den står så den viser alt advarsler, så er det fint med mig.
Jeg troede blot man skulle gøre noget ekstra for at få den til at vise hele baduljen.
hehe jamen hvis det var forkert at udkommentere E_ALL og E_NOTICE øverst oppe, så ligger fejl jo der. Hvis jeg kune har error_reporting = E_ALL som tipsen så er den fin. :o)
Måske har det været et problem for PHP at parse php.ini filen og den er måske stoppet når den stødte på syntax-fejl i denne - dermed er den ikke nået ned til sendmail-delen? Tror ikke helt selv på det - det undrer også mig meget!
NB: Jeg har haft et andet problem med at sende mails under W2K - nemlig hvis man angiver både navn og email (på modtager) på en kommasepareret liste - dét fungerer ikke i Windows! (Grunden til, at jeg nævner det er at jeg kan se du skriver både navn og email som afsender - hvilket også er det pæne at gøre.
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.