PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apatcheserver + Mailfunktion



KeRoSiN
05.08.02, 09:04
Hallo,

ich habe ein Problem mit einem Linux Webserver, besser gesagt mit der Mailfunktion auf einer PHP seite.
Kann mir jemand von euch sagen, ob ich bei einem Apache - Server etwas bestimmtes einstellen muss, um über ein Mailscript E-Mails zu versenden? Bei meinem Script, das auf einem anderen Linux Server einwandfrei lief, kommt jetzt immer die Meldung, dass die E-Mail verschickt wurde aber ich bekomme sie nicht.

corresponder
05.08.02, 09:21
ha !

endlich mal jemand mit meinem problem !

also eigendlich sollten die maileinstellungen für php-form-mails in der php.ini getätigt werden...

hast du mal in die logs geguckt ?

KeRoSiN
05.08.02, 09:22
danke erstmal für die rasche antwort. weisst du zufällig wie dieser eintrag dann aussehen muss?

stefaan
05.08.02, 09:31
Servus!

Was steht im Maillog?

Grüße, Stefan

KeRoSiN
05.08.02, 09:42
hmm... ich habe gerade über locate *.log, locate maillog.* und locate maillog mal gesucht, finde aber keine maillog. Außerdem habe ich von www.phpbox.de ein php mailscript ausprobiert und das geht auch nicht. es scheint also wirklich nur am server zu liegen.


nachtrag:
halt, ich hab die datei gefunden... da steht bei allen meiner e-mails, die vesandt werden sollten. stat=queued !

corresponder
05.08.02, 10:40
tail -f /var/log/httpd/error.log
tail -f /var/log/httpd/access.log

KeRoSiN
05.08.02, 11:03
ich habe jetzt gerade mal die beiden befehle ausprobiert... beide gingen nicht. no such file or directory... ich hab dann wieder über locate die dateien gesucht und es gibt anscheinend keine error.log und auch keine access.log.
muss ich vielleicht noch irgend etwas installieren um die mailfunktion ans laufen zu bekommen?

stefaan
05.08.02, 11:12
Servus!

Schon ein bisschen eigenartig... :rolleyes:
Welche Distribution hast du? Wie hast du den Apache/PHP installiert?
Hast du überhaupt einen MTA (sendmail, postfix) installiert?
Gehn wir das einmal langsam durch.... ;)

Grüße, Stefan

KeRoSiN
05.08.02, 12:33
ähm, also ich hab suse Linux 7.3
Wie der apatche php installiert ist, kann ich leider nicht sagen, das war ich nicht.
Allerdings hab ich keinen MTA installiert. das wirds dann wohl auch sein oder?
Wo bekomm ich den sowas her?
(ich kenn mich leider in sachen linux noch nicht so gut aus)

corresponder
05.08.02, 12:35
bitte schreib apache...

weiss nicht, wie suse die sache verwaltet ?!

:ugly:


sendmail ist doch ueberall dabei ?!


in der php.ini gibt es anweisungen, wie das sendmail(binarie) angesprochen wird......

stefaan
05.08.02, 14:27
Servus!

Bei einer Suse-Installation geht das alles per RPM... was sagt ein:


# rpm -qa | grep apache
oder
# rpm -qa | grep httpd
oder
# rpm -qa | grep sendmail
oder
# cat /pfad/zur/php.ini | grep mail


Grüße, Stefan

KeRoSiN
05.08.02, 14:43
vielen dank!

ich werde es später noch probieren, wenn ich heute noch dazu komm... wenn nicht, dann morgen früh. ich geb auf jeden fall noch bescheid.

KeRoSiN
28.08.02, 07:54
mal ne blöde frage... (wie gesagt ich kenn mich mit linux kaum aus)
soll ich das eingeben? also grep mail usw.... oder was muss ich da genau machen?

Danke

stefaan
28.08.02, 08:04
Servus!

#.... enspricht deiner Shell
rm -qa | grep sendmail.... RPM-Befehl, der alle Pakete ausgibt, dieser wird aber durch grep gejagt und alles andere aussortiert.

Bei dir kann das so aussehen:
root@locahost # (steht schon dort)
du gibst dann nur mehr die Befehle ein, so wie ich sie aufgeschrieben hab ;)

Grüße, Stefan

KeRoSiN
28.08.02, 08:40
danke!
Werd ich dann mal ausprobieren!

Harry
28.08.02, 10:57
Hallo,

also wenn Du im Maillog die Meldung "queued" bekommst, dann kannst Du folgende Annahmen treffen:
- Dein Apache läuft
- die PHP-Module sind korrekt eingebunden
- Dein PHP-Skript ist in Ordnung
- PHP kann Mails versenden

Diese ganzen Punkte brauchst Du also nicht mehr zu checken.
Was noch verbleibt, ist die Konfiguration Deines MTAs. Dieser ist offensichtlich nicht in der Lage, einen Empfänger für Deine Mails zu ermitteln und kann die Mails daher auch nirgendwo ausliefern. Also hält er sie in der Queue, bis das Verfallsdatum erreicht ist.
Ich schätze mal, dass Du für Deinen MTA (wahrscheinlich sendmail) noch einen Relayhost definieren mußt, damit Dein sendmail die Mails beispielsweise über den SMTP-Server Deines ISP ausliefert.

Dazu gibt es auf der SuSE 7.3 in der Datei /etc/rc.config.d/sendmail den Eintrag "SENDMAIL_SMARTHOST=", den Du mit dem Hostnamen Deines Provider MTAs füllst. Anschließend sollte ein "SuSEconfig --module sendmail" und ein "rcsendmail restart" die Konfiguration aktivieren.

Harry

KeRoSiN
29.08.02, 09:26
hallo!

erstmal danke für deine Antwort. Ich bin dadurch schon ein ganzes stück weiter. es war kein smtp server eingetragen. ich habe jetzt einen eingetragen und die befehle eingegeben. allerdings hat das mit suseconfig --module sendmail nicht funktioniert. rcsendmail restart aber schon! leider stehen die mails aber immernoch auf queued. liegt das daran, das der erste befehl nicht ging?

KeRoSiN
29.08.02, 10:01
hallo, ich nochmal.

ich habe jetzt diese sache mit suseconfig doch hin bekommen. danach habe ich noch rcsendmail restart eingegeben und in die maillog geschaut. dort steht jetzt deamon could not open conrol socket /var/run/sendmail.control: Group writable directory


könnt ihr damit was anfangen?

Harry
29.08.02, 10:02
Hallo,

wenn das "SuSEconfig --module sendmail" nicht durchlief, dann wurde die Konfiguration für sendmail in /etc/sendmail.cf auch nicht neu geschrieben und der Smarthost (in anderen MTA-Implementationen heisst der wieder Relayhost) nicht eingetragen.

Bei dem Kommando mußt Du auf die korrekte Groß-/Kleinschreibung achten; wenn auch das nicht hilft, dann kannst Du auch "SuSEconfig" (ohne Parameter) laufen lassen. Es sollte dann auf jeden Fall eine Meldung kommen wie z.B. "updating /etc/sendmail.cf" oder so ähnlich.

Danach noch ein "rcsendmail restart" und optional auch ein "sendmail -q", damit die Queue direkt bearbeitet wird.

Viel Erfolg :)

Harry

KeRoSiN
29.08.02, 10:04
ja, ich habe das mit der groß und kleinschreibung anfangs falsch gemacht. anschliessen hab ich nur SuSEconfig durchlaufen lassen. wie gesagt, ging das auch nicht... der grund steht über deinem eintrag. haben knapp an einander vorbei gepostet. ;)

Harry
29.08.02, 10:06
Original geschrieben von KeRoSiN
haben knapp an einander vorbei gepostet. ;)

Jo - komische ansynchrone Welt ist dies hier ;)

Harry

KeRoSiN
30.08.02, 11:32
hi, wisst ihr was ich machen kann, wenn im Maillog folgendes steht:

deamon could not open conrol socket /var/run/sendmail.control: Group writable directory

KeRoSiN
05.09.02, 07:50
kann mir keiner weiterhelfen?

stefaan
05.09.02, 08:06
Servus!


kann mir keiner weiterhelfen?

Ich nicht, da ich Postfix bevorzuge :D
Aber Google (http://groups.google.at/groups?hl=de&lr=&ie=UTF-8&oe=UTF-8&q=daemon+could+not+open+control+socket+/var/run/sendmail.control:+Group+writable+directory&spell=1)

Grüße, Stefan

Soll keine direkte Kritik an dich sein, aber wieso kann man mit Fehlermeldungen nicht zuerst Google (Groups) quälen? ;) :confused:

Grüße, Stefan

namina
05.09.02, 13:32
Steht doch genau drin was du machen sollst.

Das neue Sendmail hat ein paar zusätzliche Sicherheitsfeatures: das Verzeichnis /var/run darf nicht Gruppen-Beschreibbar sein. Also chmod 755 /var/run

corresponder
05.09.02, 13:53
wenn ich versuche eine mail per php zu verschicken bekomme ich im error.log des apache folgende fehlermeldung:

qmail-inject: fatal: read error


kennt die einer hier ?

-LuCkYdUcK-
26.09.02, 23:39
Hiho,
eigentlich wärme ich schon behandelte Themen nicht wieder auf, aber ich dachte mir da nichts mehr gepostet wurde hat evt. einer meiner Vorredner das Problem lösen können. Ich habe Apache 2.0.40 und PHP 4.2.3 auf meinem Redhat 7.2 (Enigma) System. Auf dem System fungiert Sendmail (v 8.11.6-3) als MTA. Zudem habe ich Webspace mit PHP-Support (leider weiß ich die Versionen von PHP und Apache nicht, auch nicht welcher MTA zum Einsatz kommt). Zu meinem Problem:

Ich habe mir schon mehrere Feedback-Formulare heruntergeladen und versucht Sie zum laufen zubekommen, aber auf meinem lokalen System wollen Sie einfach keine Mails versenden. Ich habe verschiedene Feedbackformulare ausprobiert, um logische Fehler in einem Skript auszuschließen. Alles das selbe Ergebnis, keines verschickt eine Mail. Dann habe ich eines der Skripte auf meinen Webspace upgeloaded und dort funktionierte es dann, genau so wie alle anderen auch. Daher denke ich das der Fehler bei meinem Server liegt. Meine Frage lautet nun, da ich echt schon seit 2 Tagen alles versuche (Foren durchsuchen, Webpages lesen, USENET durchwühlen, selber probieren) woran es liegen koennte. Den Pfad zu Sendmail habe ich in meine php.ini eingefuegt, und die beiden Win32 direktiven ([mail function] SMTP und sendmail_from) habe ich schon Wahlweise auskommentiert, dann wieder aktiviert aber gehen tut es leider immer noch nicht. Wenn jemand eine Idee, oder gar das gleiche Problem auch einmal hatte wäre ich für Tips und Hilfe sehr dankbar!

mfg -LuCkYdUcK-

-LuCkYdUcK-
27.09.02, 10:31
Hiho,
ich konnte das Problem selber lösen. Falls ich noch jemandem damit helfen kann der ähnliche Problem hat:

Der Fehler bei mir war das das mqueue Verzeichnis nicht root gehörte. Ein "chown root /var/spool/mqueue" haben das Problem beseitigt.