Wie konfiguriere ich den integrierten Postfix unter Mac OS X so, dass er keine direkte Verbindung zu anderen Zielhosts als ihm selbst herstellt?

2398
Kevin Reid

Ich führe Cron-Jobs auf meinem Mac-Laptop aus und möchte, dass der Mail-Daemon die Ausgabemail an mein reguläres E-Mail-Konto senden kann. Ich habe das funktioniert (mein lokales Konto hat eine .forwardDatei), aber ich bin oft in Netzwerken, in denen die Verbindung zum MX des Ziels an Port 25 nicht erfolgreich ist.

Daher möchte ich, dass der lokale Mail-Daemon seine ausgehenden E-Mails unabhängig vom Ziel an einen anderen SMTP-Server sendet (der zufällig ein SSH-Port-Forward an einen Server unter meiner Kontrolle ist). Wie konfiguriere ich den von Apple gelieferten Postfix dafür?

Aktualisieren:

Ich habe versucht, die Einstellung relayhost = [localhost]:40125vorzunehmen (wobei 40125 der SSH-Port nach vorne ist), aber obwohl ich jetzt Mail an eine richtige Internet-Mail-Adresse senden kann (z. B. kpreid@switchb.org), werden Cron-Job-Mails (an die adressiert ist kpreid@<whatever the DHCP hostname is>) nicht zugestellt. Aus dem einen Sprung, den ich gesehen habe, scheint es, als würden alle Mails, selbst für den lokalen Hostnamen, zuerst zum Relayhost gehen.

Daher brauche ich eine Möglichkeit zum Weiterleiten an, es [localhost]:40125 sei denn, die Adressendomäne ist die Domäne dieser Maschine (die häufig variiert).

2

1 Antwort auf die Frage

2
JanC

Sie müssen die relayhostDirektive festlegen /etc/postfix/main.cf(und möglicherweise einige andere Einstellungen anpassen, aber das ist schwer zu sagen, ohne die Standardkonfiguration von Apple zu kennen).

Es funktionierte; Es war keine zusätzliche Konfiguration erforderlich. Ich habe `relayhost = [localhost]: 40125` hinzugefügt, wobei 40125 der SSH-Port-Forward ist (` -L localhost: 40125: localhost: 25`); Entsprechend den Kommentaren in der Datei geben die eckigen Klammern an, dass eine direkte Verbindung hergestellt wird, anstatt einen MX für die Domäne zu suchen (was für localhost möglicherweise nicht erforderlich ist, aber hey). Kevin Reid vor 13 Jahren 0
Während dies für allgemeine ausgehende E-Mails funktioniert, scheint dies leider zu einem Fehler bei cron-job-E-Mails zu führen, da versucht wird, an "" zu senden@"" über den Relayhost (zumindest habe ich dafür einen Sprung bekommen), anstatt zuerst den .forward im lokalen Konto zu finden. Irgendwelche Vorschläge? Kevin Reid vor 13 Jahren 0
Ich nehme an, dass die Einstellung "Mydestination" dann nicht korrekt ist, oder vielleicht eine der anderen Einstellungen von mir. Eine Erläuterung aller verfügbaren Einstellungen finden Sie in `man 5 postconf`. Unter Ubuntu (ich bin mir nicht sicher, ob Mac OS X auch "Vixie cron" verwendet?), Können Sie cron mitteilen, an wen Sie E-Mails senden möchten, indem Sie eine MAILTO-Umgebungsvariable in crontab festlegen (siehe "man 5 crontab"). JanC vor 13 Jahren 0