PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mail() mit postfix benutzen?



Bellerophon
16-07-2003, 18:45
Hallo,
ich will auf meiner Seite ein Kontaktformular anlegen. Dazu hab ich erstmal ein Testscript geschrieben, welches aber leider nicht funktioniert. Hier erstmal das Script:

<html>
<body>
<center>
<h2>Gästebuch</h2>
<form action="mail.php" method="get">
Empfänger E-Mail Adresse:<br>
<input type="text" name="email"><br>
Betreff:<br>
<input type="text" name="betreff"><br>
Ihre Mail:<br>
<textarea name="inhalt" rows="7" cols="35"></textarea><br>
<input type="Submit" name="send" value="Eintragen">
</form>
<a href="test.html">Zurück zur Test-Seite</a>
</body>
</html>

<?php
$email=$_GET["email"];
$betreff=$_GET["betreff"];
$inhalt=$_GET["smilie"];
if ($email<>""&&$betreff<>""&&$inhalt<>"")
mail ($email,$betreff,$inhalt);
?>

In der php.ini steht folgender Eintrag:

sendmail_path = /usr/sbin/sendmail
Sendmail liegt auch in diesem Verzeichnis. Ich benutze Postfix und der ist auch dazu in der Lage mails zu versenden. Funktioniert zumindest manuell.
Wenn ich mir die /var/log/mail angucke, tut sich da garnichts. Also bekommt Postfix den Auftrag vom Script erst garnicht zu sehen.
Kann mir jemand sagen, woran es liegt? Hab auch schon in php.ini die Option sendmail -t -i ausprobiert... Es kommt aber trotzdem nichts an!

Hoffentlich könnt ihr mir helfen!
Danke im Vorraus.
Bellerophon

elrond
17-07-2003, 05:57
bei mir ist sendmail_path nicht explizit gesetzt. Versuch es doch einfach mal in der php.ini auszukommentieren...

offe
17-07-2003, 06:10
Hi,

> $inhalt=$_GET["smilie"];
> if ($email<>""&&$betreff<>""&&$inhalt<>"")

die Variable $inhalt ist immer leer, weil du $inhalt=$_GET["smilie"] die Variable smilie gar nicht übergibst.

Versuch doch ein Script das ohne Abfrage eine mail schickt:


<?
$betreff = "wichtiger Betreff";
$inhalt = "Dies ist der Inhalt";
mail (test@bla.de,$betreff,$inhalt);
?>

Bellerophon
17-07-2003, 11:02
So... Erstmal danke für die zwei Tipps.
Leider war beides ohne Erfolg. Da ich mir schon dachte, dass an der If-Abfrage was nicht stimmen kann, hab ich sie schon mal auskommentiert. Und auch mit dem von dir vorgeschlagenen Script tut sich bei postfix nix.
Auch das auskommentieren des sendmail_path hat keine Besserung gebracht. Hätte mich auch gewundert, wenn es dann funktionieren würde.

Woran kann es noch liegen? Muss ich vielleicht wenn ich postfix benutze bei sendmail_path was anderes angeben???

Wäre nett, wenn ihr mit helfen könntet.
Bis dann
Bellerophon

elrond
17-07-2003, 11:11
wenn der sendmail_path nicht gesetzt ist wird per default "sendmail -t -i" benutzt.
Versuch das doch einfach mal auf der shell.

Bei mir liegt unter /usr/sbin/ ein sendmail -bin, das poostfix normalerweise mitbringt afaik. das ding tut nichts weiter als die überall verwendeten sendmail-params auf die für postfix zu mappen.

Bellerophon
17-07-2003, 11:13
Jaja... das ist mir ja auch klar. Die Sendmail-bin liegt bei mir in /usr/sbin. Aber leider kommt das PHP-Script garnicht bis zu sendmail durch... zumindest bemerkt postfix nix davon, dass es eine mail schicken soll (sonst würde es das ja in /var/log/mail loggen, wo aber nichts passiert)... Deshalb bin ich ja so verzweifelt!!!

elrond
17-07-2003, 11:17
dann hat vielleicht der account des Webservers , bei mir wwwrun, nicht ausreichend Rechte um sendmail auszuführen.
Ich würde es jetzt mit einem su wwwrun und dann mit dem sendmail -... versuchen

Bellerophon
17-07-2003, 11:22
Hmmm... das hört sich vernünftig an... Aber wo stell ich den Account des Webservers bzw. dessen Rechte ein? Wenn ich su wwwrun eingebe und anschliessend sendmail sagt er mir, dass er den Befehl nicht findet... Könnte also wirklich daran liegen!

Bellerophon
17-07-2003, 11:34
So... Das war der entscheidende Tipp!!!!
DANKE!!!
Nun hab ich die Group des httpd von nogroup auf mail gesetzt und alles läuft.
Nun noch 2 kleine Fragen:
1) Geht das in Ordnung, wenn der httpd mit der group mail läuft?
2) Wie kann ich den Absender der mit PHP erstellten Mail ändern. Der ist jetzt nämlich "Apache Web Server" und das gefällt mir nicht so!
Aber trotzdem nochmal danke!!!:D
Bellerophon

elrond
17-07-2003, 11:45
ob der wechsel in eine andere gruppe nebenwirkungen hat weiß ich nicht...

Vielleicht findest du im partnerforum linuxforen (http://www.linuxforen.de/) etwas dazu.

Bellerophon
17-07-2003, 13:13
Scheint keine Auswirkungen zu haben. Die Rechte beschränken sich dann wirklich nur auf die Mail-Aktionen.
Also... Dann hat sich mein Problem ja jetzt dank eurer tatkräftigen Hilfe endlich erledigt! Danke für alles
Bellerophon