| Linux/UNIX Linuxverfechter finden hier Weggefährten. |
PHP mail() schickt keine Mails - sendmail config?!
Diskussion: PHP mail() schickt keine Mails - sendmail config?! im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige
Zitat:
Zitat von mime
Ja, wenn du ein device angibst, dann holt er sich die Addresse vom device . ...
1Likes  | |
26.09.11, 22:42
|
#16 (permalink)
| | Moderator
Registriert seit: 30.09.06 Likes: 442 | Anzeige Zitat:
Zitat von mime Ja, wenn du ein device angibst, dann holt er sich die Addresse vom device. ping benutzt nicht das mit "-I" angegebene als "outgoing device" sondern als SRC-Address. | Ok, da hast du Recht. Ping löst über den Device-Namen offenbar wirklich nur die IP auf. Aber... Solange du nicht den GW mittels ifconfig oder route setzt, wird Traffic des Loopbacks nicht auf einen Gateway gelenkt. Sonst hättest du in der Routing-Tabelle einen Eintrag der Form: Code: default 123.123.123.1 0.0.0.0 UG 0 0 0 lo 123.123.123.1 ist hier der Router/GW. Üblicherweise hast du einen solchen Eintrag aber nur für das LAN-Device und nicht für das Loopback. Somit greift auf dem Device lo der Default-Gateway auch nicht. Der Default-Gateway wird immer per Device definiert und greift nicht global. Legst du z.B. ein virtuelles zweites Device an, wird auch für dieses ein zweiter Routing-Eintrag in die Routing-Tabelle eingefügt, in der der Default-Gateway definiert ist. Ist dies nicht der Fall, geht auch kein Traffic des virtuellen Devices zum Gateway.
Ausserdem weiss ich ziemlich sicher, dass mein Postfix noch nie Emails versenden konnte, wenn ich den nur auf dem Loopback lauschen liess. Ich hatte erst vor ein paar Tagen dieses "Problem" auf einem Webserver. Auch dort war es umgehend behoben, nachdem ich inet_interfaces auf all gesetzt hatte.
@RemoteC: Wenn Postfix am richtigen Netzwerk-Device lauscht und die lokalen IPs als mynetworks eingetragen sind, sollte er auch Mails senden können. Geht es dann noch immer nicht, macht eine lokal laufende oder vorgeschaltete Firewall Probleme. Ausserdem weist dein Telnet-Output ja auch darauf hin. |
| |
27.09.11, 10:08
|
#17 (permalink)
|
Registriert seit: 12.08.10 Likes: 30 | Zitat:
Zitat von bitmuncher Solange du nicht den GW mittels ifconfig oder route setzt, wird Traffic des Loopbacks nicht auf einen Gateway gelenkt. Sonst hättest du in der Routing-Tabelle einen Eintrag der Form: Code: default 123.123.123.1 0.0.0.0 UG 0 0 0 lo 123.123.123.1 ist hier der Router/GW. Üblicherweise hast du einen solchen Eintrag aber nur für das LAN-Device und nicht für das Loopback. Somit greift auf dem Device lo der Default-Gateway auch nicht. Der Default-Gateway wird immer per Device definiert und greift nicht global. | Quak! Die default route wird benutzt, wenn es für die Zieladresse eines IP Paketes keine bekannte route gibt. Das Interface in der default route sagt, über welches Interface diese Pakete raus gehen sollen. Du hast immer nur eine default route. Diese gilt auch für Lo. Zitat: |
Legst du z.B. ein virtuelles zweites Device an, wird auch für dieses ein zweiter Routing-Eintrag in die Routing-Tabelle eingefügt,
| Ja, natürlich wird für das Netz in dem sich die IP befindet eine route angelegt. Zitat: |
in der der Default-Gateway definiert ist. Ist dies nicht der Fall, geht auch kein Traffic des virtuellen Devices zum Gateway.
| Das ist einfach falsch. Code: kira:/home/mime # route -n
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth1 Meine routing table. Wie du siehst, nur ein default gw. Jetzt musst du dich doch nur noch fragen, was mit Packeten aus dem 192.168.1.0 Netz passiert, wenn es für die Zieladresse eines IP Paketes keine bekannte route gibt. Ganz genau, die werden über das default gateway weiter geschickt. So verhält sich das auch mit Paketen von lo. Zitat: |
Ausserdem weiss ich ziemlich sicher, dass mein Postfix noch nie Emails versenden konnte, wenn ich den nur auf dem Loopback lauschen liess.
| Tausend andere Mailserver können das. Bei den meisten Distributionen lauscht der SMTPd doch nur noch auf lo. Da gehen Mails raus.
Micha
__________________ http://www.openvas.org |
| |
27.09.11, 10:10
|
#18 (permalink)
|
Registriert seit: 12.08.10 Likes: 30 | Zitat:
Zitat von RemoteC Code: Trying 213.165.64.100...
telnet: connect to address 213.165.64.100: Network is unreachable Als Smarthost soll ich den (Windows) Mail-Server einstellen? Von dem hab ich leider keine Zugangsdaten, andere Baustelle  | Du kannst den Mailserver in dem Netz nicht benutzen? Wo bist du denn da überhaupt und was machst du da? So wirst du nicht weiter kommen. Die Firewall will dich wohl nicht mit anderen Mailservern sprechen lassen.
Micha
__________________ http://www.openvas.org |
| |
27.09.11, 11:35
|
#19 (permalink)
| | Moderator
Registriert seit: 30.09.06 Likes: 442 | Zitat:
Zitat von mime Du hast immer nur eine default route. Diese gilt auch für Lo. | Code: bitmuncher:/home/bitmuncher# route
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
85.0.0.0 * 255.0.0.0 U 0 0 0 eth0
default 85.214.32.2 0.0.0.0 UG 0 0 0 eth0
default 85.214.32.1 0.0.0.0 UG 0 0 0 eth0
Nur eine Default-Route? Also ich hab hier für jedes Interface (es handelt sich um eth0 und eth0:1) jeweils einen Default-Gateway. Und wie du siehst ist hier keine GW für 127.0.0.0/255.0.0.0 gesetzt, so wie es bei dir der Fall ist. Kein GW für lo = keine Verbindung nach aussen. |
| |
27.09.11, 12:41
|
#20 (permalink)
|
Registriert seit: 12.08.10 Likes: 30 | Zitat:
Zitat von bitmuncher Code: bitmuncher:/home/bitmuncher# route
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
85.0.0.0 * 255.0.0.0 U 0 0 0 eth0
default 85.214.32.2 0.0.0.0 UG 0 0 0 eth0
default 85.214.32.1 0.0.0.0 UG 0 0 0 eth0 Nur eine Default-Route? | Ja, ich hätte "in der regel" dazu schreiben sollen. Zitat: |
Also ich hab hier für jedes Interface (es handelt sich um eth0 und eth0:1) jeweils einen Default-Gateway.
| Nein, du hast einfach 2 default routen. Das kann man z.B. für Autofailover so machen. Die zweite Default Route wird dann verwendet, wenn die erste einen Timeout liefert. Dazu musst du aber "/proc/sys/net/ipv4/route/gc_timeout" runter setzen (sonst macht das bei 300 Sekunden timeout nicht wirklich Spaß) und CONFIG_IP_ROUTE_MULTIPATH muss aktiviert sein.
Du hast nicht für jedes interface eine eigene default route. Die routing table wird von oben nach unten abgearbeitet. Zitat: |
Und wie du siehst ist hier keine GW für 127.0.0.0/255.0.0.0 gesetzt, so wie es bei dir der Fall ist.
| Du bist auf nem Debian, richtig? Da wird von "/sbin/route" das loopback schon ewig nicht mehr angezeigt.
Für dich also: Code: mime@thoe:~$ /sbin/ip route list table all | grep /8 Zitat: |
Kein GW für lo = keine Verbindung nach aussen.
| Du hast doch ein GW. Darüber gehen alle Pakete, für die es keine bekannte route gibt. Das gilt auch für Pakete von lo.
Micha
__________________ http://www.openvas.org |
| |
27.09.11, 13:59
|
#21 (permalink)
| Themenstarter
Registriert seit: 11.07.05 Likes: 0 | Zitat:
Zitat von mime Du kannst den Mailserver in dem Netz nicht benutzen? Wo bist du denn da überhaupt und was machst du da? | Ad hoc kann ich ihn nicht benutzen.
Das ganze ist das Netzwerk meiner ehemaligen Schule, ich habe damals als Abschlussprojekt mit zwei Klassenkollegen die Website der Schule neu gemacht und dabei gleich einen Linux Webserver aufgesetzt (davor hatte die Schule einen IIS, der war aber auch von der Hardware veraltet). Leider kennt sich der Systemadministrator der Schule nicht so gut aus wie man es von ihm erwarten könnte und daher gibt es ab und zu noch Probleme die ich erledigen muss. Die Installation und Konfiguration des Netzwerks macht eine externe Firma. Ich kenne die restlichen Server im Netzwerk, nur habe ich bei denen weder einen Remote-Zugriff noch Zugangsdaten, dafür muss ich persönlich vorbei kommen und mit dem Systemadministrator zusammen Einstellungen vornehmen. Ich hatte eh auch erst vor ca. einem Monat hier einen Thread in dem mir der ISA-Server High-Bit Character geblockt hat. So ist leider die Situation ... |
| |
27.09.11, 14:15
|
#22 (permalink)
|
Registriert seit: 12.08.10 Likes: 30 | Zitat:
Zitat von RemoteC Ich hatte eh auch erst vor ca. einem Monat hier einen Thread in dem mir der ISA-Server High-Bit Character geblockt hat. | Ich weiss... Zitat: |
So ist leider die Situation ...
| Dann lass dir Zugangsdaten geben (benutzt der Mailserver überhaupt SMPT-Auth? Vielleicht relayed der auch alles, was aus dem lokalen Netz kommt? Dann kannst du ihn auch so einfach als Smarthost eintragen.)
Micha
__________________ http://www.openvas.org |
| |
12.10.11, 15:05
|
#23 (permalink)
| Themenstarter
Registriert seit: 11.07.05 Likes: 0 | Das ganze funktioniert immer noch nicht ... angeblich hat der webserver jetzt die selben Berechtigungen am ISA wie der mailserver.
Ich weiß echt nicht mehr woran das liegt, auch bei einem mailx an eine E-Mail Adresse dieser Domain kommt ein Fehler. Zitat:
Content-Description: Delivery report
Content-Type: message/delivery-status
Reporting-MTA: dns; webserver.DOMAIN.LOCAL
X-Postfix-Queue-ID: 77B716356
X-Postfix-Sender: rfc822; root@webserver.DOMAIN.LOCAL
Arrival-Date: Wed, 12 Oct 2011 14:36:15 +0200 (CEST)
Final-Recipient: rfc822; homepage@domain.at
Action: delayed
Status: 4.4.1
Diagnostic-Code: X-Postfix; connect to mail.domain.at[193.171.155.xxx]: Network
is unreachable
| Wobei 193.171.155.xxx die externe IP der Schule ist.
Firewall ist am webserver deaktiviert ... gibt es noch irgendwelche (vielleicht zu nahe liegende) Möglichkeiten warum ich keine Mails schicken kann?
Postfix ist installiert und läuft (" the Postfix mail system is already running ", wenn ich postfix start mache), sendmail-pfad ist eingestellt, ...
lg |
| |
12.10.11, 15:25
|
#24 (permalink)
|
Registriert seit: 12.08.10 Likes: 30 | Zitat:
Zitat von RemoteC Wobei 193.171.155.xxx die externe IP der Schule ist | Code: mime@kira[9]: ~ 0)$ telnet 193.171.155.22 25
Trying 193.171.155.22...
Connected to 193.171.155.22.
Escape character is '^]'.
220 schooladmin.kenyonserver.at ESMTP Postfix Klappt das bei dir auch? Also von dem Host, von dem die Mails verschickt werden sollen? Eventuell musst du die 193.171.155.22 noch anpassen.
Micha
__________________ http://www.openvas.org |
| |
13.10.11, 10:55
|
#25 (permalink)
| Themenstarter
Registriert seit: 11.07.05 Likes: 0 | Zitat:
Zitat von mime Klappt das bei dir auch? Also von dem Host, von dem die Mails verschickt werden sollen? Eventuell musst du die 193.171.155.22 noch anpassen.
Micha | Die Mails sollen vom Webserver (eben via PHP mail() -> sendmail) verschickt werden und wenn ich am Webserver ein telnet auf die externe IP über port 25 mache kommt wieder einmal nur " telnet: connect to address 193.171.155.XXX: Network is unreachable" ... auch bei deiner IP (.22) geht nichts.
Was kann hier noch den Datenverkehr blocken, wenn es am Webserver keine aktive Firewall gibt? Mails an 'root' kann ich über die Konsole schreiben, hab ich ja schon weiter oben gepostet, die kann ich mir dann auch in /var/mail/root anschauen.
Irgendwie ist das ganze zum Verzweifeln ... dabei wollte ich ja nur ein PHP-Formular mit E-Mail Versand online stellen |
| |
13.10.11, 11:06
|
#26 (permalink)
|
Registriert seit: 12.08.10 Likes: 30 | Zitat:
Zitat von RemoteC Die Mails sollen vom Webserver (eben via PHP mail() -> sendmail) verschickt werden und wenn ich am Webserver ein telnet auf die externe IP über port 25 mache kommt wieder einmal nur "telnet: connect to address 193.171.155.XXX: Network is unreachable" ... auch bei deiner IP (.22) geht nichts. | Tja... Zitat: |
Was kann hier noch den Datenverkehr blocken, wenn es am Webserver keine aktive Firewall gibt?
| Der ISA? Zitat: |
Mails an 'root' kann ich über die Konsole schreiben, hab ich ja schon weiter oben gepostet, die kann ich mir dann auch in /var/mail/root anschauen.
| Die wird ja auch lokal zugestellt. Zitat:
Irgendwie ist das ganze zum Verzweifeln ... dabei wollte ich ja nur ein PHP-Formular mit E-Mail Versand online stellen | Mach doch mal ein "traceroute 193.171.155.XXX". Vielleicht siehst du dann, wo dein Request versandet...
__________________ http://www.openvas.org |
| |
13.10.11, 11:40
|
#27 (permalink)
| Themenstarter
Registriert seit: 11.07.05 Likes: 0 | Zitat:
Zitat von mime Mach doch mal ein "traceroute 193.171.155.XXX". Vielleicht siehst du dann, wo dein Request versandet... | "Network is unreachable" ... Zumindest von ping weiß ich aber, dass er bewusst vom ISA blockiert wird, ich glaube das ist mit traceroute das selbe. |
| |
13.10.11, 12:07
|
#28 (permalink)
|
Registriert seit: 12.08.10 Likes: 30 | Zitat:
Zitat von RemoteC "Network is unreachable" ... Zumindest von ping weiß ich aber, dass er bewusst vom ISA blockiert wird, | Warum das denn? Was ist so gefährlich an Pings? Zitat: |
ich glaube das ist mit traceroute das selbe.
| Ein Windows traceroute benutzt ICMP-Pakete, ja. Unter Linux werden per default UDP Pakete benutzt.
Du kannst traceroute mit "-I" (ICMP) oder "-T" (TCP) sagen, welchen Modus du benutzen möchtest.
HTH
Micha
__________________ http://www.openvas.org |
| |  | | | |
| | | - Anzeige - |
| | [HaBo]
» Operating Systems
» Linux/UNIX
»
PHP mail() schickt keine Mails - sendmail config?!
| Themen-Optionen | | | | Ansicht | Linear-Darstellung |
Forumregeln
| Es ist Ihnen nicht erlaubt, neue Themen zu verfassen. Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten. Es ist Ihnen nicht erlaubt, Anhänge hochzuladen. Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten. HTML-Code ist aus. | | |
|