Avatar billede hfrontdk Nybegynder
04. april 2004 - 10:53 Der 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.
Avatar billede htm Nybegynder
04. april 2004 - 10:56 #1
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".
Avatar billede hfrontdk Nybegynder
04. april 2004 - 11:06 #2
C:\WINDOWS\php.ini og den er genstartet.
Avatar billede hfrontdk Nybegynder
04. april 2004 - 11:13 #3
Men under sendmail_from og sendmail_path står der no value.

Hvis jeg slår warnings fra kan jeg godt sende.
Avatar billede htm Nybegynder
04. april 2004 - 12:39 #4
Du retter i c:\windows\php.ini ? og det er det der står ved "Configuration File (php.ini) Path"??

Hvilken webserver har du?
Avatar billede hfrontdk Nybegynder
04. april 2004 - 12:44 #5
Ja, det er korrekt. Apache 2.0.48.
Hvis jeg fjerner at jeg ikke vil se warnings og notice så virker det, men dem vil jeg gerne køre med.
Avatar billede htm Nybegynder
04. april 2004 - 12:50 #6
Genstarter du den vhar apache services ved uret? hvis ikke prøv det.
Avatar billede hfrontdk Nybegynder
04. april 2004 - 12:54 #7
Ja, det er den.
Avatar billede htm Nybegynder
04. april 2004 - 12:55 #8
Har du et link til en phpinfo() jeg kan se?
Avatar billede hfrontdk Nybegynder
04. april 2004 - 13:02 #9
Avatar billede tipsen Nybegynder
04. april 2004 - 13:04 #10
Du kunne evt. bare lave høkerløsningen og tilføje "From: je79ayps@mail.dk\r\n" til dine headere i mail() kaldet.
Avatar billede htm Nybegynder
04. april 2004 - 13:07 #11
Der står sendmail_from da til en værdi ? kimmy.e...........

Melder den stadig fejl? eller er den en anden server?
Avatar billede hfrontdk Nybegynder
04. april 2004 - 13:08 #12
Ja, men mine headers har allerede from på. Umiddelbart virker det som en bug et eller andet sted.

Alternativ kunne jeg bruge

ini_set("SMTP","smtp.mail.dk");
ini_set("sendmail_from","user@domain.com");

men det er jo også lidt af en høker...
Avatar billede tipsen Nybegynder
04. april 2004 - 13:31 #13
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!
Avatar billede hfrontdk Nybegynder
04. april 2004 - 13:38 #14
htm: det er fordi jeg har slået E_ALL og E_NOTICE fra. Når jeg slår dem til står der no value.

Tipsen: måske, men min header er:
$headers = "From: \"$_POST[inputname]\" <$_POST[inputemail]>\r\n";
Avatar billede htm Nybegynder
04. april 2004 - 13:47 #15
selvom dit error_reporting står til ikke at vise fejl vil den stadig vise din sendmail_from i phpinfo();
phpinfo() serverens konfiguration.

Kan desuden se at du kun har slået E_NOTICE fra.

i php.ini står der sikkert

error_reporting  =  E_ALL & ~E_NOTICE
hvilket er standard.

Du har ikke flere servere? den der viser denne phpinfo() har intern IP 192.168.1.31 .
Avatar billede tipsen Nybegynder
04. april 2004 - 13:52 #16
hfront.dk: Prøv "for sjov" at droppe din From-header i scriptet og se hvad der sker. Sekundært kan du prøve bare at sætte den til:

$headers = "From: din@email.dk\r\n"; <-- bemærk, at \r\n ikke skal med i sidste header-linie!

evt. kan du også prøve at udskrive $headers og fortælle os, hvad den skriver!
Avatar billede hfrontdk Nybegynder
04. april 2004 - 13:53 #17
Ja adressen er god nok.

Det jeg gør er at udkommentere disse linier:

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.
Avatar billede htm Nybegynder
04. april 2004 - 13:57 #18
Ok det er forkert... :o) For du ikke fejl når du genstarter?

Du skal lidt længere ned og finde den der hedder error_reporting - her sætter du din error_reporting


error_reporting  =  E_ALL & ~E_NOTICE
Betyder at Alle fejl undtagen E_NOTICE
Avatar billede tipsen Nybegynder
04. april 2004 - 14:00 #19
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
Avatar billede hfrontdk Nybegynder
04. april 2004 - 14:04 #20
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.

Smid svar begge to.
Avatar billede htm Nybegynder
04. april 2004 - 14:07 #21
Nix jeg skal ikke have point før det virker 100% fo dig :o)

Har du prøvet med en lille simpel mail?

<?php
mail("din@mail.dk", "Test emne", "Test body");
?>
Avatar billede hfrontdk Nybegynder
04. april 2004 - 14:14 #22
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)
Avatar billede htm Nybegynder
04. april 2004 - 14:16 #23
Men giver din mail() ikke warnings om at sendmail_from ikke er sat mere ?
Avatar billede hfrontdk Nybegynder
04. april 2004 - 14:26 #24
Nej - alt virker. Det er lidt underligt.
Avatar billede tipsen Nybegynder
04. april 2004 - 14:38 #25
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.

Hermed også et svar...
Avatar billede htm Nybegynder
04. april 2004 - 15:50 #26
OK så kan vi da godt ligge et svar :o)
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