• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] PHP: mail() funktioniert nicht

Hallo Leute,

ich habe folgendes Problem.

Ich habe zwei Server, die über ein PHP-Skript Emails versenden sollen. Auf dem einen funktioniert es, auf dem anderen nicht. Einstellungen in der php.ini sind identisch, zumindestens im Bereich Mail.

Beide Server laufen auf SuSE 9.3.

Hab im durch googeln gefunden, dass PHP standardmäßig mit sendmail senden will, obwohl SuSE standardmäßig postfix installiert. Auf beiden Server ist /usr/sbin/sendmail vorhanden.

Ich bekomme keine Fehlermeldung. Die Email kommt einfach nicht an. Die Skripte sind zwar unterschiedlich, habe das vom nicht-funktionierenden aber auf dem funktionierenden getestet und es läuft. Es muss also irgendwie an der Konfiguration liegen.

Hat einer eine Idee? Welche Einstellungen müssen im System gemacht werden, damit das funktioniert?

Das zweite System (funktionierendes), wurde ca. ein halbes Jahr später installiert und die mail()-Funktion nutze ich erst seit kurzem auf dem Ersten (nicht-funktionierendes).

Vielen Dank im voraus.


Gruß
tsj
 

panamajo

Guru
thesecondjoker schrieb:
Hab im durch googeln gefunden, dass PHP standardmäßig mit sendmail senden will, obwohl SuSE standardmäßig postfix installiert.

Nein, PHP hat keine Ahnung welchen MTA du verwendest. Aber die meisten MTAs stellen ein sendmail binary bereit, das sich unabhängig vom Backend gleich verwenden lässt.

Kannst du auf beiden Rechnern Mails (ohne PHP) versenden? Was steht in den Logfiles?
 
Kannst du auf beiden Rechnern Mails (ohne PHP) versenden? Was steht in den Logfiles?

Sorry, hätte mich klarer ausdrücken sollen. Auf den Servern selbst werden keine Emails verschickt, sie bieten keinen SMTP-Dienst an! Ich nutze einen SMTP-Server im LAN als Sprungbrett nach draußen.

Wie gesagt, auf dem einen gehts, auf dem Anderen nicht.

Gibt es auch hiervon Logfiles?
 

panamajo

Guru
thesecondjoker schrieb:
Gibt es auch hiervon Logfiles?

Wenn der Server versucht den LAN Mailserver zu kontakten dann sollte dies in dessen Logfiles stehen. Wenn nicht stimmt was mit der Konfiguration nicht.

Wenn kein lokaler MTA zur Verfügung steht muss in der php.ini unter SMTP der Mail Server eingetragen werden, sendmail_path ist dann ohne Bedeutung.
 
Danke!

Hab das Problem zwar noch nicht gelöst, bin ihm aber auf der Spur. Habe zuvor leider in den falschen Logfiles gesucht.

Unter /var/log/mail* habe ich die Informationen gefunden, dass er die Domäne oder den Host nicht finden kann und deshalb nicht senden kann.

Ich werd mal weiter suchen und dann mal schaun. Geb dann an, ob das Problem gelöst ist, oder nicht.
 
das problem ist nu endlich gelöst! *puh*

lag daran, dass mein server den dns nicht automatisch gefunden hat und ihn auch nicht via dhcp erhalten hat. nachdem ich ihn manuell eingetragen habe, lief endlich alles!

vielen dank für die tipps!

gruß
tsj
 
Oben