postfix: Server zwingen, E-Mails außerhalb von localhost zu senden [geschlossen]

9

Ich habe eine PHP-Datei, die Mail mit der Funktion mail () sendet. Das Problem ist, dass eines der Formulare an eine Domäne gesendet wird, die auf meinem Server registriert ist, während die E-Mails auf einem anderen Server verarbeitet werden. Postfix sieht nur lokal aus. Wenn die E-Mail-Adresse nicht gefunden wird, wird die Nachricht abgelehnt. Wie kann ich Postfix so konfigurieren, dass E-Mails über das Internet und nicht lokal an alle Domains gesendet werden?

Aktualisieren

OK. Es war also überhaupt kein Postfix-Problem. Ich musste lediglich die E-Mails an diese Domäne über die Befehlszeile deaktivieren. Für jeden, der diesen Befehl benötigt, ist es (zumindest auf meinem System):

/usr/local/psa/bin/domain --update example.com -mail_service false
LoneWolfPR
quelle

Antworten:

4

Ich habe das ähnliche Problem gelöst. Während Sie in Ihr Update schreiben, müssen Sie den Mail-Dienst für die Domain per /usr/local/psa/bin/domain --update example.com -mail_service falseBefehl ausschalten - dies sollte in den meisten Fällen funktionieren. Wie auch immer, ich habe einen weiteren Fehler gemacht und das Ausschalten des Mail-Dienstes war nicht genug Lösung für mich.

Zuerst sollte ich meine DNS-Einstellungen überprüfen. Ich habe DNS außerhalb des Plesk-Servers gehostet, aber ich habe festgelegt, dass DNS während der Domänenerstellung vom Server verwaltet wird (Standardoption) - dies war der einzige Fehler. Dann funktionierte alles gut, außer das Versenden von E-Mails an eine von Plesk verwaltete Domain. Anschließend wurde die E-Mail erfolgreich von domain.tld an [email protected] gesendet, nicht jedoch an [email protected]

Die Lösung für mich war , den DNS-Dienst für die Domäne in der Plesk-Systemsteuerung zu deaktivieren . Dies kann über die DNS SettingsSystemsteuerung für die Domäne erfolgen.

Boris Šuška
quelle
1

Es hört sich so an, als ob du $mydestinationfalsch liegst. Überprüfen Sie den aktuellen Wert auf Ihrem System mit dem folgenden Befehl:

postconf mydestination

Standardmäßig sendet Postfix E-Mails nur an den lokalen Host, nicht an die gesamte Domain:

% postconf -d mydestination
mydestination = $myhostname, localhost.$mydomain, localhost

Wenn Sie dies anpassen müssen, bearbeiten Sie /etc/postfix/main.cf.

Weitere Informationen zu gängigen Postfix-Szenarien finden Sie in den Standardkonfigurationsbeispielen . Sie können auch Informationen speziell zu sehenmydestination .

Fission
quelle
So sieht mein mydestination aus: mydestination = $ myhostname, localhost. $ Mydomain, localhost
LoneWolfPR
Das Seltsame ist, dass ich es geändert habe, aber es zeigt immer noch nicht, was ich in der Datei
main.cf
Versuchen Sie eine postfix reload, um Ihre Konfiguration neu zu laden ...
Spaltung
Es stellte sich heraus, dass die Lösung zunächst nicht in Postfix enthalten war. Hat ein Update mit der Antwort gepostet, da ich meine eigenen Fragen noch nicht beantworten kann. Vielen Dank, dass Sie sich die Zeit genommen haben.
LoneWolfPR
Wahrscheinlich wäre es hilfreich gewesen zu wissen, dass es kein "Vanille" -Postfix war und dass Sie Plesk verwendeten. ;-) Freut mich zu hören, dass es jetzt sortiert ist.
Spaltung
1

Sie können auch die Datei / etc / postfix / transport verwenden, um selektiv zu definieren, welcher SMTP-Server welche Domain-Mails verarbeiten soll. Wenn Sie eine E-Mail von mydomain.com an smtp.mydomain.com senden möchten, können Sie in / etc / postfix / transport schreiben:

mydomain.com  smtp:[smtp.mydomain.com]

Vergessen Sie nicht, anschließend postmap / etc / postfix / transport auszuführen, um die von postfix verwendete .db-Datei zu erstellen.

Tuncay Göncüoğlu
quelle