# mail() und php.ini



## vsitor (2. April 2006)

Hallo Ihr Lieben,

ich hab auf einem Testserver Mambo4.5 laufen. Leider funktioniert das Contact-Formular nicht. Er tut so, als wenn er die Mail verschickt hat, aber mein Server liefert die mail nicht aus !

Ich habe Plesk installiert, keine Ahnung ob die mail()-Funktion bei PHP abgestellt ist. 
Wie kann ich das wieder aktivieren? Ansonsten kann ich Emails einrichten und mittels Horde-Webmail senden, nur per Webformular und der mail()-Funktion gehts nicht.

Wer kann helfen?
Danke


----------



## di-five (4. April 2006)

Hi vsitor,

ich kenne mich mit dem Versenden von eMails noch nicht wirklich aus, aber du musst auf dem Rechner schon einen Dienst installieren, der die eMails verschickt, und dem Programm oder Script musst du dann auch sagen, dass er über den eigenen Server die eMails verschicken soll.

Mit Horde-Webmail wird es wohl funktionieren, weil das Teil einen Server hat bzw. einen Dienst oder ein Programm hat (der greift dann irgendwo auf einen Server zu), was die eMails auch wirklich verschickt.

Wenn du mit "mein Server" deinen Rechner meinst ist dort solch ein Programm wahrscheinlich nicht eingerichtet. Unter Linux könnte das zum Beispiel sendmail sein, unter Windows Mercury, welches auch im XAMPP-Paket enthalten ist. Vielleicht würde es unter Windows auch mit Hamster funktionieren?

Wenn die Seite bei einem Provider liegt, müsste die mail()-Funktion funktionieren.
mail("e@mail.de","Betreff","Nachricht");

Vielleicht hilft dir das ein bisschen.

Viele Grüße di-five


----------



## Dr Dau (4. April 2006)

Hallo!

Schau mal in der php.ini beim Abschnitt "disable_functions" nach, ob dort die mail() Funktion eingetragen (also deaktiviert) ist.

Eine andere Möglichkeit währe es Dir die deaktivierten Funktionen mittels phpinfo() anzeigen zu lassen.
Da sich die Ausgabe von phpinfo() aber offensichtlich beeinflussen/einstellen lässt, würde ich dieser Ausgabe nicht zu 100% vertrauen.

Wenn die mail() Funktion deaktiviert ist, sollte Dein Script aber auch eine Fehlermeldung ausspucken..... es sei denn dass diese unterdrückt werden (im Script selbst und/oder über die php.ini).

Gruss Dr Dau


----------



## vsitor (4. April 2006)

Hallo und danke für Deine Antwort.

ich habe mal folgendes probiert:

<?
mail("e@mail.de","Betreff","Nachricht");
?>

(natürlich die richtige Mailadresse eingegeben)
dann zeigt er logischerweise die leere Seite an, aber eine Mail habe ich nicht bekommen. Ich habe Debian laufen und sendmail ist auch installiert. 

Ich hatte auch schonmal postfix mit apt-get installiert, aber da hab ich mein PLESK mit zerschossen  

Ich habe das gefühl, dass mein DR.WEB oder Spammassasin die mail löscht, weil sie keinen HEADER übersendet, kann das sein ?

Bin für Hilfe dankbar
Viele Grüße
vsitor


----------



## vsitor (4. April 2006)

Hallo Dr Dau,

bei disable_functions ist nichts eingetragen, allerdings habe ich folgenden Eintrag gefunden:


```
; 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 = 0
```

hat das damit etwas zu tun ?

Danke


----------



## v5b3t (14. April 2006)

Ich hab das Problem auch! Denke nicht, dass es an PHP liegt, ich nutze nämlich Perl und usr/bin/sendmail mit nem PLESK 7.5, auf dem System ist qmail

Hab Dr. Web und SpamAssassin runtergefahren.

Nix!

Mein Script funktioniert auf nem anderen Server 100%.

Das hab ich noch gefunden:
http://www.serversupportforum.de/forum/plesk/4977-sendmail-error-plesk-suse.html
Hilft aber auch nicht...

Wo hängts nun?


----------

