Das FreeBSD-Handbuch
Zurück | Kapitel 28. Elektronische Post (E-Mail) | Weiter

# 28.6. Fehlerbehebung

Hier finden sich ein paar häufig gestellte Fragen und ihre Antworten, die von der FAQ übernommen wurden.

28.6.1. Warum muss ich einen FQDN (fully-qualified domain name/ voll ausgeschriebenen Domänennamen) für meine Rechner verwenden?
28.6.2. Warum meldet Sendmail “`mail loops back to myself`”?
28.6.3. Wie kann ich einen E-Mail-Server auf einem Anwahl-PPP Rechner betreiben?
28.6.4. Warum bekomme ich die Fehlermeldung “`Relaying Denied`”, wenn ich E-Mails von anderen Rechnern verschicke?

28.6.1. Warum muss ich einen FQDN (fully-qualified domain name/ voll ausgeschriebenen Domänennamen) für meine Rechner verwenden?

Vielleicht liegen die Rechner in einer unterschiedlichen Domäne; zum Beispiel, wenn Sie sich in `foo.bar.edu` befinden, und einen Rechner namens `mumble` in der `bar.edu` Domäne erreichen wollen, müssen Sie ihn mit dem voll ausgeschriebenen Domänennamen `mumble.bar.edu` kontaktieren, anstatt bloß mit `mumble`.

Traditionell wurde das von dem BSD BIND Resolver erlaubt. Wie auch immer, die aktuelle Version von BIND, die mit FreeBSD ausgeliefert wird, bietet keine Standardabkürzungen für nicht komplett angegebene Domänennamen außerhalb der Domäne, in der Sie sich befinden. Daher muss ein nicht-qualifizierter Rechner `mumble` entweder als `mumble.foo.bar.edu` gefunden werden, oder er wird in der root Domäne gesucht.

Damit unterscheidet es sich von vorherigem Verhalten, bei dem die Suche über `mumble.bar.edu` und `mumble.edu` lief. Schauen Sie sich RFC 1535 an, wenn Sie wissen möchten, warum das als schlecht und sogar als Sicherheitsloch angesehen wurde.

Um das zu umgehen, können Sie die Linie

    search foo.bar.edu bar.edu

anstatt der vorherigen

    domain foo.bar.edu

in Ihre `/etc/resolv.conf` einsetzen. Aber stellen Sie sicher, dass die Suchordnung nicht die Begrenzung von “lokaler und öffentlicher Administration”, wie RFC 1535 sie nennt, überschreitet.

28.6.2. Warum meldet Sendmail “`mail loops back to myself`”?

Dies wird in der Sendmail-FAQ wie folgt beantwortet:

Ich erhalte folgende Fehlermeldungen:
553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
Wie kann ich dieses Problem lösen?
Sie haben durch die Benutzung eines MX-Eintrags eingestellt, dass
Mail für die Domäne (z.B. domain.net) an einen speziellen
Host (in diesem Fall relay.domain.net) weitergeleitet wird,
aber der Relay-Host erkennt sich selbst nicht als
domain.net. Fügen Sie domain.net in /etc/mail/local-host-names
[die Datei hieß vor der Version 8.10 /etc/sendmail.cw]
(falls Sie FEATURE(use_cw_file) benutzen) oder "Cw domain.net"
in /etc/mail/sendmail.cf ein.

Die aktuelle Version der Sendmail-FAQ wird nicht mehr mit dem Sendmail-Release verwaltet. Sie wird jedoch regelmäßig nach comp.mail.sendmail, comp.mail.misc, comp.mail.smail, comp.answers und news.answers gepostet. Sie können auch eine Kopie per E-Mail bekommen, indem Sie eine Mail mit dem Inhalt `send usenet/news.answers/mail/sendmail-faq` an `mail-server@rtfm.mit.edu` schicken.

28.6.3. Wie kann ich einen E-Mail-Server auf einem Anwahl-PPP Rechner betreiben?

Sie wollen einen FreeBSD-Rechner in einem LAN an das Internet anbinden. Der FreeBSD-Rechner wird ein E-Mail Gateway für das LAN. Die PPP-Verbindung ist keine Standleitung.

Es gibt mindestens zwei Wege um dies zu tun. Einer davon ist UUCP zu verwenden.

Ein anderer Weg ist, von einem immer mit dem Internet verbundenen Server einen sekundären MX-Dienst für Ihre Domäne zur Verfügung gestellt zu bekommen. Wenn die Domäne Ihrer Firma `example.com` ist, und Ihr Internet-Dienstanbieter `example.net` so eingestellt hat, dass er Ihrer Domäne einen sekundären MX-Dienst zur Verfügung stellt:

    example.com.            MX        10      bigco.com.
                          MX        20      example.net.

Nur ein Rechner sollte als Endempfänger angegeben sein (fügen Sie `Cw example.com` zu `/etc/sendmail.cf` auf example.com).

Wenn das `sendmail` des Versenders versucht, die E-Mail zuzustellen, wird es versuchen, Sie über die Modem-Verbindung (`example.com`) zu erreichen. Wahrscheinlich wird es keine Verbindung zustande bringen können, da Sie nicht eingewählt sind. `sendmail` wird die E-Mail automatisch zu der sekundären MX-Stelle geliefert, zu Ihrem Internet-Provider (`example.net`). Die sekundäre MX-Stelle wird periodisch versuchen versuchen eine Verbindung zu Ihnen aufzubauen, um die E-Mail zu der primären MX-Stelle (`example.com` zu liefern.

Eventuell wollen Sie etwas wie dies als Login-Skript:

    #!/bin/sh
    # Put me in /usr/local/bin/pppmyisp
    ( sleep 60 ; /usr/sbin/sendmail -q ) &
    /usr/sbin/ppp -direct pppmyisp

Wenn Sie ein separates Login-Skript für einen Benutzer erstellen wollen, könnten Sie stattdessen `sendmail -qRexample.com` in dem oben gezeigten Skript verwenden. Das erzwingt die sofortige Verarbeitung der E-Mails in Ihrer Warteschlange für `example.com`

Eine weitere Verfeinerung der Situation ist wie folgt:

Die Nachricht wurde der FreeBSD Internet service providers entnommen.

    > wir stellen einem Kunden den sekundären MX zur Verfügung.
    > Der Kunde verbindet sich mit unseren Diensten mehrmals am Tag
    > automatisch um die E-Mails zu seinem primären MX zu holen
    > (wir wählen uns nicht bei ihm ein, wenn E-Mails für seine
    > Domäne eintreffen).  Unser sendmail sendet den Inhalt der
    > E-Mail-Warteschlange alle 30 Minuten.  Momentan muss er 30 Minuten
    > eingewählt bleiben um sicher zu sein, dass alle seine E-Mails
    > beim primären MX eingetroffen sind.
    >
    > Gibt es einen Befehl, der sendmail dazu bringt, alle E-Mails sofort
    > zu senden? Der Benutzer hat natürlich keine root-Rechte auf
    > unserer Maschine.

    In der “privacy flags” Sektion von sendmail.cf befindet sich die
    Definition Opgoaway,restrictqrun

    Entferne restrictqrun um nicht-root Benutzern zu erlauben, die Verarbeitung
    der Nachrichten-Warteschlangen zu starten.  Möglicherweise willst du
    auch die MX neu sortieren.  Wir sind der primäre MX für unsere
    Kunden mit diesen Wünschen und haben definiert:

    # Wenn wir der beste MX für einen Rechner sind, versuche es direkt
    # anstatt einen lokalen Konfigurationsfehler zu generieren.
    OwTrue

    Auf diesem Weg liefern Gegenstellen direkt zu dir, ohne die Kundenverbindung
    zu versuchen.  Dann sendest du zu deinem Kunden.  Das funktioniert nur
    für “Rechner”, du musst also deinen Kunden dazu bringen,
    ihre E-Mail Maschine “customer.com” zu nennen, sowie
    “hostname.customer.com” im DNS.  Setze einfach einen A-Eintrag
    in den DNS für “customer.com”.

28.6.4. Warum bekomme ich die Fehlermeldung “`Relaying Denied`”, wenn ich E-Mails von anderen Rechnern verschicke?

In der standardmäßigen FreeBSD-Installation wird sendmail nur dazu konfiguriert, E-Mails von dem Rechner, auf dem es läuft, zu senden. Wenn zum Beispiel ein POP-Server installiert ist, können Benutzer ihre E-Mails von der Schule, von der Arbeit oder von anderen Orten überprüfen. Sie werden jedoch keine E-Mails von außen verschicken können. Typischerweise wird ein paar Sekunden nach dem Versuch eine E-Mail von MAILER-DAEMON mit einer “`5.7 Relaying Denied`” Fehlermeldung versendet werden.

Es sind mehrere Wege möglich, dies zu umgehen. Die geradlinigste Lösung ist die Adresse Ihres Internet-Dienstanbieters in die Datei für die Weiterleitungs-Domänen zu platzieren. Das lässt sich schnell erreichen mit:

    # echo "your.isp.example.com" > /etc/mail/relay-domains

Nach Erstellen oder Editieren dieser Datei müssen Sie sendmail neu starten. Das funktioniert großartig wenn Sie ein Server-Administrator sind und E-Mails nicht lokal versenden, oder gerne ein Client/System mit grafischer Oberfläche auf einer anderen Maschine oder sogar über einen anderen Internet-Dienstanbieter verwenden wollen. Es ist auch sehr nützlich, wenn Sie nur ein oder zwei E-Mail Accounts eingerichtet haben. Soll eine größere Anzahl Adressen hinzugefügt werden, können Sie die Datei einfach in Ihrem favorisierten Editor öffnen und die Domänen anfügen, je eine pro Zeile:

    your.isp.example.com
    other.isp.example.net
    users-isp.example.org
    www.example.org

Jetzt wird jede E-Mail, die durch Ihr System von einem der in diese Liste eingetragenen Rechner geschickt wurde, ihr Ziel erreichen (vorausgesetzt, der Benutzer hat einen Account auf Ihrem System). Dies ist ein sehr schöner Weg, um Benutzern das entfernte E-Mail Versenden von Ihrem System zu erlauben, ohne dem Massenversand (SPAM) die Tür zu öffnen.

Zurück | Zum Anfang | Weiter
Wechseln des Mailübertragungs-Agenten | Nach oben | Weiterführende Themen

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.