Guten Morgen liebe Community,
ich habe ein kleines Problem. Ich möchte gerne einen Mailserver einrichten, von welchem ich für ein Projekt mit PHP ausschließlich E-Mails senden möchte.
Nun habe ich mit dem Befehl echo "Test" | mail -s "Betreff" user@example.com eine Email abschicken wollen. Leider kam bei mir nichts an.
In diesem Netzwerk, in dem der Server läuft, geht alles über nen HTTP Proxy raus, welchen ich, wie bei Googel beschrieben, in der Config von Postfix bei relayhost eingetragen hab:
relayhost = 172.16.1.2:8080
Allerdings funktioniert es immer noch nicht. Die E-Mail wurde im Test an eine @hotmail.de und eine @gmail.com Adresse geschickt, aber weder im Posteingang noch im Spamordner bin ich fündig geworden.
Hat einer von euch noch eine Idee?
Ich bin komplett neu im Linuxbereich, vondaher seht es mir nach, wenn ich irgendwas einfaches falsch gemacht hab
Danke und lG,
Jonas
Postfix mit Proxy verwenden
- heisenberg
- Beiträge: 3559
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Postfix mit Proxy verwenden
Hi,
Das mail-Kommando hat erst mal nix mit einem HTTP-Proxy zu tun. Das Mail-Kommando gibt üblicherweise die E-Mail an den lokalen Mailserver. Der widerrum sorgt für die weitere Verarbeitung bzw. den weiteren Transport der Mail.
D. h. Du prüfst am besten die Protokolle des lokalen Mailservers zuerst, welche unter /var/log/mail.log bzw. /var/log/mail.err liegen. Auf Systemen mit systemd bekommst Du die Ausgabe auch per
.
HTTP-Proxy als Mailrelay geht nicht
Das geht so gar nicht. Der SMTP-Relay darf kein HTTP sprechen sondern nur SMTP. Ein HTTP-Proxy kann kein Mailrelay sein. D. h. du brauchst eine direkte Verbindung auf Port 25,465(SSL-verschlüsselt) oder 587(nur mit Authentifizierung) zu Deinem Relay host.
Im übrigen ist ein Mailserver - auch wenn es Postfix ist - nicht ganz so trivial. Ein simples relay sollte jetzt nicht so das Problem sein. Falls Du aber dann doch auf Probleme stösst, die Dich überfordern, dann wäre nullmailer eine einfachere Variante.
Mail versenden mit PHP
PHP hat eigene Mailfunktionen, mit dem man das eleganter und resourcenschonender erledigen kann. Das hätte den Vorteil, dass man u. U. lokal gar keinen Mailserver braucht.
Siehe: http://php.net/manual/de/function.mail.php
Das mail-Kommando hat erst mal nix mit einem HTTP-Proxy zu tun. Das Mail-Kommando gibt üblicherweise die E-Mail an den lokalen Mailserver. Der widerrum sorgt für die weitere Verarbeitung bzw. den weiteren Transport der Mail.
D. h. Du prüfst am besten die Protokolle des lokalen Mailservers zuerst, welche unter /var/log/mail.log bzw. /var/log/mail.err liegen. Auf Systemen mit systemd bekommst Du die Ausgabe auch per
Code: Alles auswählen
journalctl -u postfix.service --no-pager --lines=100
HTTP-Proxy als Mailrelay geht nicht
Code: Alles auswählen
relayhost = 172.16.1.2:8080
Im übrigen ist ein Mailserver - auch wenn es Postfix ist - nicht ganz so trivial. Ein simples relay sollte jetzt nicht so das Problem sein. Falls Du aber dann doch auf Probleme stösst, die Dich überfordern, dann wäre nullmailer eine einfachere Variante.
Mail versenden mit PHP
Code: Alles auswählen
echo "Test" | mail -s "Betreff" user@example.com
Siehe: http://php.net/manual/de/function.mail.php
Jede Rohheit hat ihren Ursprung in einer Schwäche.
Re: Postfix mit Proxy verwenden
Okay, dankeschön für deine Ausführliche Antwort.
Hab eben gerade auch nochmal rum gefragt. Wusste nicht, das wir einen SMTP Relay haben. Hab jetzt beim Systemadmin Zugrang von der IP des Servers beantragt, und schaue dann heute Mittag mal, ob das mit dem E-Mail verschicken jetzt klappt. Momentan wird ja alles was raus/rein eght durch ne Firewall blockiert, außer es geht über einen der Proxys oder eben den Relay Server.
Aber dennoch vielen vielen Dank für deine Antwort.
Werde mir das mit dem PHP und dem Nullmailer mal genauer durchlesen. Danke.
Hab eben gerade auch nochmal rum gefragt. Wusste nicht, das wir einen SMTP Relay haben. Hab jetzt beim Systemadmin Zugrang von der IP des Servers beantragt, und schaue dann heute Mittag mal, ob das mit dem E-Mail verschicken jetzt klappt. Momentan wird ja alles was raus/rein eght durch ne Firewall blockiert, außer es geht über einen der Proxys oder eben den Relay Server.
Aber dennoch vielen vielen Dank für deine Antwort.
Werde mir das mit dem PHP und dem Nullmailer mal genauer durchlesen. Danke.