Hat ein Mailserver nicht permanent Verbindung zum Netz, so stellen sich andere Probleme. Zum ersten wird der sendmail Daemon in diesem Fall nicht – oder nur im lokalen Netz – zuständig für den Empfang von Mails sein. Er ist ja nicht ständig online. Wir benötigen also für unsere E-Mail Adressen einen Rechner im Internet, der wiederum ständig am Netz hängt und uns die Möglichkeit bietet, unsere Mails von dort zu holen. Das wird später bei den POP-Servern und -Clients genauer beschrieben.

Aber auch für die ausgehende Mail müssen wir andere Wege gehen. Der Mailserver kann (oder soll) ja nicht alle paar Minuten eine Verbindung ins Internet aufbauen. Aus diesem Grund werden wir die Variablen in der /etc/rc.config.d/sendmail.rc.config hier etwas anders setzen:

  SENDMAIL_TYPE="yes"

  # Wir benutzen einen Providerrechner
  SENDMAIL_SMARTHOST="smtp:mailserver.provider.de"
  # Ohne Providerrechner stünde hier
  # SENDMAIL_SMARTHOST=""

  SENDMAIL_LOCALHOST="localhost meinname.meinedomain.de"

  SENDMAIL_RELAY=""

  SENDMAIL_ARGS="-bd -om"

  SENDMAIL_EXPENSIVE="yes"

  SENDMAIL_NOCANONIFY="yes"

  SENDMAIL_NODNS="no"

  SENDMAIL_DIALUP="yes"

Die Einträge haben hier folgende Bedeutung:SENDMAIL_TYPE=“yes“SuSEconfig soll uns eine Sendmail Konfiguration schreiben (yes) oder nicht (no). Wenn Sie die Sendmail-Konfiguration von Hand vornehmen wollen, dann müssen Sie diese Variable unbedingt auf no setzen, sonst überschreibt SuSEconfig beim nächsten Lauf ihre ganze Arbeit wieder. Alle weiteren Variablen haben nur eine Bedeutung, wenn hier yes steht.SENDMAIL_SMARTHOST=“smtp:mailserver.provider.de“Hier wird der Rechner im Internet angegeben, der alle unsere Mail empfängt. Das ist in der Regel der vom Provider für ausgehende Mails angegebene Mailserver. Wollen Sie aber, dass Ihr Server alle Mail direkt an die Empfänger schickt, so muß die Variable leergelassen werden.SENDMAIL_LOCALHOST=“localhost meinname.meinedomain.de“Die verschiedenen Bezeichnungen, unter denen der lokale Host zu erreichen ist. Wenn hier falsche Angaben gemacht werden, so würde sendmail auch Mails innerhalb des Rechners (von User Hans zu User Otto) über das Internet versenden.SENDMAIL_RELAY=““Hier kann ein Rechner angegeben werden, der im lokalen Netz alle Mailk für alle User annimmt. Der Rechner muß die selben User kennen, wie der localhost. Selten gebraucht. Wenn Sie die Variable leer lassen, werden lokale Mails auch lokal ausgeliefert.SENDMAIL_ARGS=“-bd -om“Die Argumente, mit denen der sendmail-Daemon gestartet wird. Diesmal haben wir nicht -q30m angegeben, so dass sendmail die Warteschlange nicht regelmäßig automatisch bearbeitet. Das müssen wir später einrichten.SENDMAIL_EXPENSIVE=“yes“Wenn dieser Parameter auf yes gesetzt ist, sendet sendmail nie die Mail von selbst. Sie muß also regelmäßig durch einen Aufruf von sendmail -q verschickt werden. Das ist z.B. der Fall, wenn eine Dialup-Leitung ins Internet besteht, und daher nicht gewünscht wird, dass halbstündlich Verbindungen aufgebaut werden. In diesem Fall muß z.B. über cron eingestellt werden, wann sendmail -q aufgerufen werden soll.SENDMAIL_NOCANONIFY=“yes“Adressen in Ihren Mails werden nicht über DNS überprüft wenn hier yes steht. Das spart sehr viel Netztraffic und wird gerne zusammen mir SENDMAIL_EXPENSIVE eingesetzt. Damit aber dann alles funktioniert, müssen in /etc/hosts mindestens die oben angegebenen Mailserver mit ihren IP-Adressen eingetragen sein. In diesem Beispiel setzen wir die Variable also auf yes.SENDMAIL_NODNS=“no“Hiermit wird DNS komplett abgeschaltet (yes). Das erfordert aber eine ausgesprochen exakte und vollständige /etc/hosts Datei. Auch diesmal schreiben wir no, wir sind zwar nicht mehr permanent am Netz, funktionierendes DNS sollten wir aber schon haben.SENDMAIL_DIALUP=“yes“Lokale Mail wird etwas verzögert ausgeliefert. Das erfordert eine korrekte Einstellung der FQHOSTNAME-Settings, und bringt auch eine leichte Entspannung bei unerwünschten Einwahlvorgängen. Wir sagen hier yes, weil wir keine permanente Anbindung haben..Nachdem diese Einträge gemacht sind, wird beim nächsten SuSEconfig eine entsprechende sendmail.cf-Datei erstellt. Jetzt muß nur noch der Eintrag

  SMTP=yes

in der Datei /etc/rc.config vorgenommen werden und beim nächsten Systemstart wird sendmail als Daemon gestartet. Allerdings arbeitet sendmail die Warteschlange jetzt nicht mehr automatisch ab. Dafür muß jetzt regelmäßig der Aufruf

  sendmail -q

von Hand oder via cron ausgeführt werden. Erst dann wird die Mail auch tatsächlich weitergeleitet. Andererseits kann unser Mailserver weiterhin Mails anderer Rechner im LAN entgegennehmen, auch solche, die für externe Adressen bestimmt sind. So dient der Server weiterhin als Server für ausgehende Mail, die nur nicht mehr ständig aktuell versendet wird.

Mail aus dem LAN, die an User auf dem Mailserver geht, wird auch entgegengenommen und in die entsprechenden Mailfächer abgelegt. Mail aus dem Internet wird jedoch in keinem Fall mehr von sendmail angenommen.

Schreibe einen Kommentar