PHP mail.Problem
am 10.09.2005 11:21:36 von Richard Maurer
Hallo NG,
Ich bin drauf gekommen das mein Mail-befehl in meinem Feetbackskript
nicht funktionier. mein normales Mail geht ohne Probleme.
Ich habe Suse 9.1 mit Postfix IMAP4 server ist OK
wenn ich über das Skript ein Mail generiere wird das nicht geschickt,
die Fehlermeldung das in If kommt er auf else (das ist die meldung wenn
mail() false zurück gibt.
könnt ihr mir einen Tipp geben was der grund sein könnte das diese art
der mailübertragung nicht funktioniert?
In meinem Gästebuch das informationsmail geht auch nicht...
Lg Richie
Re: PHP mail.Problem
am 11.09.2005 03:44:19 von Hartmut Holzgraefe
Richard Maurer wrote:
> Ich bin drauf gekommen das mein Mail-befehl in meinem Feetbackskript=20
> nicht funktionier. mein normales Mail geht ohne Probleme.
>=20
> Ich habe Suse 9.1 mit Postfix IMAP4 server ist OK...
die mail() Funktion versucht das /usr/lib/sendmail Tool aufzurufen
um die Mail zu verschicken. Da du nicht sendmail sondern postfix
einsetzt funktioniert das nur falls ein entsprechendes Kompatibilitäts-=
programm als /usr/lib/sendmail installiert ist
besser ist es du benutzt eine der vielen PHP SMTP Implementationen,
z.B. http://pear.php.net/Mail
damit bist du nicht nur unabhängig von der installierten Mailserver-
Version sondern sparst auch noch den Overhead des startens eines
externen Prozesses für jede einzelne Mail, brauchst nicht befürchten
das der Mailserver die falsche Absenderadresse einträgt und kannst
auch mit einem anderen Mailserver reden als dem lokal auf dem Webserver
installierten
--=20
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com
Re: PHP mail.Problem
am 11.09.2005 12:08:22 von Richard Maurer
Hartmut Holzgraefe schrieb:
> Richard Maurer wrote:
>
>> Ich bin drauf gekommen das mein Mail-befehl in meinem Feetbackskript
>> nicht funktionier. mein normales Mail geht ohne Probleme.
>>
>> Ich habe Suse 9.1 mit Postfix IMAP4 server ist OK...
>
>
> die mail() Funktion versucht das /usr/lib/sendmail Tool aufzurufen
> um die Mail zu verschicken. Da du nicht sendmail sondern postfix
> einsetzt funktioniert das nur falls ein entsprechendes Kompatibilitäts-
> programm als /usr/lib/sendmail installiert ist
>
> besser ist es du benutzt eine der vielen PHP SMTP Implementationen,
> z.B. http://pear.php.net/Mail
>
> damit bist du nicht nur unabhängig von der installierten Mailserver-
> Version sondern sparst auch noch den Overhead des startens eines
> externen Prozesses für jede einzelne Mail, brauchst nicht befürchten
> das der Mailserver die falsche Absenderadresse einträgt und kannst
> auch mit einem anderen Mailserver reden als dem lokal auf dem Webserver
> installierten
>
Besten Dank für Deine Hilfe.
Ich habe den Path /usr/lib/sendmail auch bei Postfix gefunden.
Das heisst das der da ist, aber wenn ich den im php.ini freigebe dann
reagiert das Mail() nicht anders. hmm also ich denke das das eine leiche
ist weil sonst müsste das ja auch funktionieren oder?
ich versuche nun deinen Vorschlag ... mal sehen gg
Danke nochmals
lg Richie
Re: PHP mail.Problem
am 11.09.2005 12:29:06 von dubAUT
Hallo!
Richard Maurer wrote:
> ich versuche nun deinen Vorschlag ... mal sehen gg
Ich kann dir in dem Fall PHPMailer empfehlen, hab damit schon viel gute
Erfahrung gemacht..
#Hannes#
Re: PHP mail.Problem
am 11.09.2005 18:19:38 von Richard Maurer
dubAUT schrieb:
> Hallo!
>
> Richard Maurer wrote:
>
>> ich versuche nun deinen Vorschlag ... mal sehen gg
>
>
> Ich kann dir in dem Fall PHPMailer empfehlen, hab damit schon viel gute
> Erfahrung gemacht..
>
> #Hannes#
Also ich versuchte mit einer Anleitung die ich mit Google suchte, das
einzrichten. Ich habe leider keine Ergebnis bekommen, das ok war.
Ich habe die 2 class.phpmailer und smtp und Sprach phps in das
Verzeichnis der HP kopiert und dann versucht mit require zu laden.
auch das Beispiel hat nicht Funktioniert. Kannst du mit ein Beispiel das
Funktioniert mailen?
Währe sehr nett.
danke Lg richie
Re: PHP mail.Problem
am 12.09.2005 14:39:19 von dev-null-use-reply-adress
Richard Mauerer schrieb:
> Ich bin drauf gekommen das mein Mail-befehl in meinem Feetbackskript
> nicht funktionier. mein normales Mail geht ohne Probleme.
[mail() gibt immer nur false zurück]
Wir hatten da in unserer PHPUG-HH Mailingliste unlängst so
einen Problemfall. Nachdem alles von vorn bis hinten durchgekaut
worden war, stelle sich ein einfaches Konfigurationsproblem heraus.
Ich zitiere:
---
Da stieß ich in der php.ini auf folgende Zeilen:
; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
mbstring.func_overload = 7
Hmmm... da wird etwas mit mail() gemacht....
Flugs
mbstring.func_overload = 7
in
mbstring.func_overload = 6
geändert - und nun scheint es zu laufen...
---
HTH
JPM
Re: PHP mail.Problem
am 12.09.2005 19:23:47 von Richard Maurer
Jens Peter Moeller schrieb:
> Richard Mauerer schrieb:
>
>> Ich bin drauf gekommen das mein Mail-befehl in meinem Feetbackskript
>> nicht funktionier. mein normales Mail geht ohne Probleme.
>
> [mail() gibt immer nur false zurück]
>
> Wir hatten da in unserer PHPUG-HH Mailingliste unlängst so
> einen Problemfall. Nachdem alles von vorn bis hinten durchgekaut
> worden war, stelle sich ein einfaches Konfigurationsproblem heraus.
> Ich zitiere:
>
> ---
> Da stieß ich in der php.ini auf folgende Zeilen:
>
> ; overload(replace) single byte functions by mbstring functions.
> ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
> ; etc. Possible values are 0,1,2,4 or combination of them.
> ; For example, 7 for overload everything.
> ; 0: No overload
> ; 1: Overload mail() function
> ; 2: Overload str*() functions
> ; 4: Overload ereg*() functions
> mbstring.func_overload = 7
>
> Hmmm... da wird etwas mit mail() gemacht....
>
> Flugs
>
> mbstring.func_overload = 7
>
> in
>
> mbstring.func_overload = 6
>
> geändert - und nun scheint es zu laufen...
> ---
>
>
> HTH
> JPM
>
Hi
Danke für den Tipp, aber es hat nichts geändert. Langsam verstehe ich
das nicht mehr... hmm In der Firma funktionieren die selben Skripts, auf
suse 9.3 TestVersion ohne Probleme, ich hatte dort nicht mal etwas
bestimmtes eingestellt. Darum kapiere ich das nicht.
lg richie
Re: PHP mail.Problem
am 13.09.2005 09:45:12 von dev-null-use-reply-adress
Richard Mauerer schrieb:
> Danke für den Tipp, aber es hat nichts geändert. Langsam verstehe ich
> das nicht mehr... hmm In der Firma funktionieren die selben Skripts, auf
> suse 9.3 TestVersion ohne Probleme, ich hatte dort nicht mal etwas
> bestimmtes eingestellt. Darum kapiere ich das nicht.
Du musst halt Schritt für Schritt vorgehen und versuchen das
Problem einzugrenzen.
Kannst Du auf der Konsole eine Mail versenden?
Mit dem Befehl mail, oder genauso wie PHP, indem Du
/usr/lib/sendmail entsprechendes einwirfst. Wie das genau
geht, müsste ich jetzt auch erstmal nachlesen.
Funktioniert das alles auch, wenn Du als Benutzer arbeitest,
der den webserver ausführt (web, nobody, wwwrun, o.ä.)?
Jetzt weiter mit PHP. Wenn Du versuchst eine Mail zu versenden,
steht dann etwas in den maillogs?
Gruß
JPM
Re: PHP mail.Problem
am 13.09.2005 19:27:55 von Richard Maurer
Hi
Ich habe es geschafft, nun zur lösung:
Sinnvoller Weise habe ich die Konfigdateien der Firma mit meinen verglichen.
In der main.cf War sendmail /usr/lib/sendmail eingetragen. korrigiert
auf /usr/sbin/sendmail.
In der php.ini:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
den Sendmailpfad habe ich entfernt.
Dann habe ich noch die Module von Apache2 und PHP, die Überflüssig
waren, in Yast2 gelöscht.
Tja dann habe ich noch die Berechtigung von main.cf auf 644 gestellt, da
ich die mit FTP übertragen hatte. (war 600).
ein rcpostfix reload
rcpostfix stop
rcpostfix start
dann gings. (Ich denke der Pfad in der mail.cf von Sendmail war der
Grund das die Übetragung nicht funktionierte
Danke für Eure Hilfe
LG Richie
Re: PHP mail.Problem
am 13.09.2005 19:52:15 von Carsten Wiedmann
Richard Maurer schrieb:
> In der php.ini:
> [mail function]
> ; For Win32 only.
> SMTP = localhost
> smtp_port = 25
Diese Werte benutzt PHP nur, wenn es tatsächlich unter Windows läuft.
> den Sendmailpfad habe ich entfernt.
in dem Fall benutzt PHP bei mail() das Sendmail, was es beim
"configure" vorgefunden hat. Gerade wenn sich seit dem der Pfad zu
Sendmail geändert haben sollte, ist es besser dort den korrekten Aufruf
zu konfigurieren.
Gruß
Carsten
Re: PHP mail.Problem
am 14.09.2005 13:16:06 von dev-null-use-reply-adress
Carsten Wiedmann schrieb:
> Richard Maurer schrieb:
>
>> In der php.ini:
>> [mail function]
>> ; For Win32 only.
>> SMTP = localhost
>> smtp_port = 25
>
> Diese Werte benutzt PHP nur, wenn es tatsächlich unter Windows läuft.
Ganz genau - so wie es da steht. ;-)
>> den Sendmailpfad habe ich entfernt.
Warum?
> in dem Fall benutzt PHP bei mail() das Sendmail, was es beim
> "configure" vorgefunden hat. Gerade wenn sich seit dem der Pfad zu
> Sendmail geändert haben sollte, ist es besser dort den korrekten Aufruf
> zu konfigurieren.
Ich stimme Dir zu.
Gruß
JPM