Mailserver ignoriert Zieladressen, die meine eigenen Domain-Namen enthalten

log2e

Registered User
Ich habe bei 1blu einen virtuellen Root-Server. Leider konnte mir der technische Support von 1blu nicht weiterhelfen, deshalb schildere ich das Probelm hier (in der Hoffnung auf eine schnelle Lösung):

Ich benutze die PHP-Funktion "mail()", um z.B. die Inhalte von Kontaktformularen zu verschicken. Grundsätzlich funktioniert dies auch, aber nur, wenn ich E-Mails an server-fremde E-Mail-Adressen versende. Sobald in den Zieladressen ein Domain-Name auftaucht, der auch auf meinem Server registriert ist, werden die E-Mails nicht verschickt. Mit anderen Worten: Ich kann mir im Moment selbst keine E-Mails schicken.

Da die PHP-Funktion "mail()" auf "sendmail" zurückgreift, wüsste ich gern, an welcher Schraube ich drehen muss, damit die server-eigenen E-Mail-Adressen nicht ignoriert werden.

Vielen Dank im voraus!
 
Könnte ein Problem mit dem Relaying sein.
Welchen MTA setzt du denn ein? Und läuft dein Webserver zusammen mit dem MTA auf der gleichen Maschine?
Ich gehe einfach mal davon aus. Wenn das so ist, konfiguriere den MTA so, dass er es lokales Relaying erlaubt.
 
Spin-Doc said:
Wenn das so ist, konfiguriere den MTA so, dass er es lokales Relaying erlaubt.

Vielen Dank für die schnelle Antwort, aber ich bin leider kein Linux-Freak. Wie finde ich heraus, welcher MTA installiert ist?
 
Gute Frage, je nach installiertem Linux System.

Gib mal in die Konsole folgendes ein:
Code:
netstat -pnat | grep ":25"

Und poste den output hier.
 
Spin-Doc said:
Gib mal in die Konsole folgendes ein:
Code:
netstat -pnat | grep ":25"

Und poste den output hier.

Hier der Output:

Code:
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      30347/xinetd
 
Das war klar, gerade da meldet sich der xinetd, verdammt ;)

Dann versuche mal das hier:
Code:
nc localhost 25

respektive:
Code:
telnet localhost 25

Jetzt sollte sich dein MTA eigentlich mit seinem Namen melden. Tut er das nicht, dann mach dich mal schlau, welche Linux Version Distri auf deinem Rechner installiert ist. Und suche dann mal bei Google, wie man installierte Pakete auflistet. Habe das leider nicht alles selbst im Kopf.
 
Beim Telnet bekomme ich folgende Rückmeldung:

Code:
220 v10149.1blu.de ESMTP

"v10149.1blu.de" ist aber lediglich der 1blu-eigene Name meines Servers.

Da es sich aber um den gleichen Server-Typ handelt, der auch in diesem Thread Probleme macht, gehe ich davon aus, dass es sich auch bei mir um ein "qmail"-Problem handelt. Leider habe ich keine Ahnung, wie man das in den Griff bekommt.

Das Merkwürdige ist ja, dass der E-Mail-Versand über PHP eigentlich funktioniert - nur eben nicht an meine eigenen E-Mail-Adressen.
 
log2e said:
Das Merkwürdige ist ja, dass der E-Mail-Versand über PHP eigentlich funktioniert - nur eben nicht an meine eigenen E-Mail-Adressen.
Code:
$ host -t mx log2e.de
log2e.de mail is handled by 10 mail.log2e.de.
$ host mail.log2e.de
mail.log2e.de has address 213.83.63.60
Deine Mails werden von einem anderen Server empfangen. Du hast aber vermutlich die Domain log2e.de auf deinem Server so konfiguriert, dass der MTA denkt für diese Mails empfangen und lokal zustellen zu müssen. Du kannst die E-Mail-Funktionalität einfach in Plesk (das du offensichtlich benutzt) deaktivieren. Dann werden die Mails auch "extern" an mail.log2e.de zugestellt.
 
bugmenot said:
Du kannst die E-Mail-Funktionalität einfach in Plesk (das du offensichtlich benutzt) deaktivieren. Dann werden die Mails auch "extern" an mail.log2e.de zugestellt.

Ich bin Deinem Rat gefolgt und habe den E-Mail-Dienst für diese Domain in Plesk deaktiviert - allerdings ohne den gewünschten Effekt. Es ist nach wie vor so, dass ein PHP-Script, das auf log2e.de läuft, nur E-Mails an server-fremde Zieladressen verschickt, nicht aber an irgendwas@log2e.de.
 
Dank der geduldigen Hilfe von "bund" :) habe ich das Problem jetzt auf andere Weise gelöst: Ich habe für eine meiner Domains den domain-eigenen Mailserver aktiviert (statt des 1blu-Mailservers). Jetzt funktioniert auch endlich der Mailversand mit PHP an E-Mail-Adressen derselben Domain!

Was allerdings nicht klappt, ist der PHP-E-Mail-Versand vom domain-eigenen Mailserver an meine anderen E-Mail-Adressen, die noch über den 1blu-Mailserver verwaltet werden. Ich schätze, dass ich wohl alle meine Domains auf eigenen Mailserver-Betrieb umstellen muss.

Es ist schon traurig, dass der 1blu-Support einem bei solchen Problemen nicht weiterhelfen kann... :rolleyes:
 
Lösung: DNS-Eintrag für den MX Record der Domain in Plesk eintragen

Step 1: MX-Record des Providers herausfinden.

Auf der Bash-Shell würde man das mit folgendem Befehl tun:

s15252570:/ # dig mx advanced-it-coaching.de

und erhält dann (im obigen Fall beim Provider 1und1 ) folgende Antwort:
..
;; ANSWER SECTION:
advanced-it-coaching.de. 86400 IN MX 10 mx00.kundenserver.de.
advanced-it-coaching.de. 86400 IN MX 10 mx01.kundenserver.de.

(ggf. sollte das der Support des Providers herausfinden können :-) )
-----------
Step 2: In Plesk: Neuen DNS Record zur Domain anlegen bzw. bestehende Einträge bearbeiten.

Beispiel-Einträge:
Eintragstyp: MX
Maildomain: [leer lassen]
Mailexchanger: mx00.kundenserver.de
Priorität: 10

... und Step 2 für das zweite Ergebnis der dig-Abfrage aus Step 1 wiederholen.

WICHTIG: die alten MX-Einträge, die auf den lokalen(eigenen) Server verweisen , müssen aus der Plesk-Liste entfernt werden.
------------



That's it. Die Lösung ist natürlich nur sinnvoll, wenn die Mailzustellung an die Domain advanced-it-coaching.de über einen anderen Mail-Server verwaltet werden soll.

Happy projects : Michael
 
Back
Top