Frage

Ich richte einen Server ein, der sich in einem Netzwerk hinter einer Firewall befindet, und ich möchte, dass Programme auf diesem Computer Sendmail verwenden können, um E-Mails an jede E-Mail-Adresse zu senden.In diesem Netzwerk läuft ein SMTP-Server (nennen wir ihn mailrelay.example.com), über den wir ausgehende E-Mails durch die Firewall leiten sollen.

Wie konfiguriere ich sendmail so, dass alle E-Mails über mailrelay.example.com gesendet werden?Das Googeln hat mir noch keine Antwort gegeben und nur ergeben, dass die Sendmail-Konfiguration äußerst komplex und nervig ist.

War es hilfreich?

Lösung

@eli:Es wird normalerweise nicht empfohlen, sendmail.cf direkt zu ändern, da es vom Makro-Compiler generiert wird.

Bearbeiten Sie /etc/mail/sendmail.mc, um die Zeile einzuschließen:

  define(`SMART_HOST',`mailrelay.example.com')dnl 

Nachdem die Konfigurationsdatei von sendmail.mc -Makrokonfiguration geändert wurde, muss sie neu kompiliert werden, um die Sendmail -Konfigurationsdatei zu erstellen.

  # m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

Und starten Sie den sendmail-Dienst neu (Linux):

  # /etc/init.d/sendmail restart

Neben der Einstellung des Smarthosts möchten Sie möglicherweise auch die Konfiguration der Namensauflösung deaktivieren und möglicherweise Ihr Sendmail auf einen nicht standardmäßigen Port verschieben oder den Daemon-Modus deaktivieren.

Deaktivieren Sie die Namensauflösung

Server, die sich innerhalb von Feuerwäldern befinden oder die Netzwerkadressenübersetzung (NAT) verwenden, haben möglicherweise keine DNS- oder NIS-Dienste zur Verfügung.Dies erzeugt ein Problem für Sendmail, da es standardmäßig DNS verwendet. Wenn es nicht verfügbar ist, werden Sie wie diese in MailQ angezeigt:

  host map: lookup (mydomain.com): deferred)

Sofern Sie nicht bereit sind, einen geeigneten DNS- oder NIS -Dienst einzurichten, den Sendmail verwenden kann, konfigurieren Sie in dieser Situation normalerweise die Namensauflösung mit der Datei /etc /hosts.Dies erfolgt durch Aktivieren einer Datei "service.switch" und der Angabe der Lösung nach Datei wie folgt:

1:Aktivieren Sie service.switch für sendmail edit /etc/mail/sendmail.mc, um die Zeilen einzuschließen:

  define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl

2:Konfigurieren Sie service.switch für Dateien erstellen oder ändern /etc/mail/service.switch, um nur auf/etc/hosts für die Namensauflösung zu erhalten:

  # cat /etc/mail/service.switch
  hosts files

3:Kompilieren Sie sendmail.mc neu und starten Sie sendmail neu, damit diese Einstellung wirksam wird.

Verschieben Sie sendmail auf einen nicht standardmäßigen Port oder deaktivieren Sie den Daemon-Modus

Standardmäßig überwacht sendmail Port 25.Möglicherweise möchten Sie diesen Port ändern oder den Sendmail -Daemon -Modus aus verschiedenen Gründen vollständig deaktivieren:- Wenn es eine Sicherheitsrichtlinie gibt, die die Verwendung bekannter Ports verbietet - wenn ein anderes SMTP -Produkt/-prozess auf demselben Host auf dem Standardport ausgeführt werden soll -, wenn Sie E -Mails überhaupt nicht über SMTP akzeptieren möchten, können Senden Sie es mit Sendmail

1:Sendmail so verschieben, dass ein nicht standardmäßiger Port verwendet wird.Bearbeiten Sie /etc/mail/sendmail.mc und ändern Sie die Einstellung „Port“ in der Zeile:

  DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

Um beispielsweise sendmail dazu zu bringen, Port 125 zu verwenden:

  DAEMON_OPTIONS(`Port=125,Addr=127.0.0.1, Name=MTA')

Dazu muss sendmail.mc neu kompiliert und sendmail neu gestartet werden.

2:Alternativ zum Deaktivieren von Sendmail -Daemon -Modus (Linux) bearbeiten/etc/sysconfig/sendmail und ändern Sie die Einstellung "Daemon" an:

  DAEMON=no

Diese Änderung erfordert einen Neustart von sendmail.

Andere Tipps

http://www.elandsys.com/resources/sendmail/smarthost.html

Sendmail Smarthost

Ein Smarthost ist ein Gastgeber, über den ausgehende Mail weitergeleitet wird.Einige ISPs blockieren den ausgehenden SMTP -Verkehr (Port 25) und verlangen von ihren Benutzern, alle E -Mails über den Mailserver des ISP zu senden.Sendmail kann so konfiguriert werden, dass der Mailserver des ISP als Smart -Host verwendet wird.

Lesen Sie den verlinkten Artikel, um eine Anleitung zur Einrichtung zu erhalten.

@Espo:Vielen Dank für den tollen Rat, wo man anfangen soll.Ihr Link wäre besser gewesen, wenn ich sendmail für die erste Verwendung konfiguriert hätte, anstatt eine vorhandene Konfiguration zu übernehmen und diese kleine Änderung vorzunehmen.Als ich jedoch wusste, dass ich auf „SmartHost“ nach Dingen suchen sollte, fand ich einen einfacheren Weg.

Ich musste lediglich meine Datei /etc/mail/sendmail.cf bearbeiten, um sie zu ändern

DS

Zu

DSmailrelay.example.com

Dann sendmail neu starten und es hat funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top