doc/de_DE.ISO8859-1/books/handbook/mail/chapter.sgml
2012-09-14 17:47:48 +00:00

2464 lines
93 KiB
XML

<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
The FreeBSD Documentation Project
The FreeBSD German Documentation Project
Original Revision der ersten Uebersetzung: 1.20
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/mail/chapter.sgml,v 1.68 2011/07/25 15:00:09 bcr Exp $
basiert auf: 1.146
-->
<!--
Ein paar Anmerkungen zur Uebersetzung bestimmter Begriffe
``Domain'' wurde mit ,,Domaene`` uebersetzt.
,,TCP/IP und OCS/NFS`` (Michael Santifaller)
FdI*
Aus ``Host'' wurde ,,Rechner``.
FdI* beschreibt ``Host'' als ,,Hauptrechner`` oder ,,gastgebender
Rechner``. Als Ausnahme wurde ``mail host'' mit ``E-Mail-Server''
uebersetzt.
* Fdi = Fachausdruecke der Informationsverarbeitung -
Woerterbuch und Glossar (IBM 1985)
-->
<chapter id="mail">
<chapterinfo>
<authorgroup>
<author>
<firstname>Bill</firstname>
<surname>Lloyd</surname>
<contrib>Ursprüglicher Text von </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>Neugeschrieben von </contrib>
<!-- 2 Dec 1999 -->
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Robert</firstname>
<surname>Drehmel</surname>
<contrib>Übersetzt von </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>Elektronische Post (E-Mail)</title>
<sect1 id="mail-de-term">
<title>Terminologie</title>
<indexterm>
<primary>E-Mail</primary>
<secondary>Terminologie</secondary>
</indexterm>
<para>Das Akronym <firstterm>MTA</firstterm> steht für
<firstterm>Mail Transfer Agent</firstterm> was übersetzt
<quote>Mailübertragungs-Agent</quote> bedeutet.</para>
<para>Während die Bezeichnung <firstterm>Server-Dämon</firstterm>
die Komponente eines MTA benennt, die für eingehende Verbindungen
zuständig ist, wird mit dem Begriff <firstterm>Mailer</firstterm>
öfters die Komponente des MTA bezeichnet, die E-Mails versendet.
</para>
</sect1>
<sect1 id="mail-synopsis">
<title>Übersicht</title>
<indexterm>
<primary>E-Mail</primary>
</indexterm>
<para><quote>Elektronische Post</quote>, besser bekannt als E-Mail, ist
eine der am weit verbreitetsten Formen der Kommunikation heutzutage.
Dieses Kapitel bietet eine grundlegende Einführung in das
Betreiben eines E-Mail-Servers unter &os;. Ebenfalls wird der
Versand und Empfang von E-Mails unter &os; behandelt. Das
Kapitel ist jedoch keine komplette
Referenz und es werden viele wichtige Überlegungen außer
Acht gelassen. Wenn Sie das Thema detaillierter betrachten
möchten, werden Sie bei einem der exzellenten Bücher
fündig, die in <xref linkend="bibliography"/> aufgelistet sind.
</para>
<para>Dieses Kapitel behandelt die folgenden Punkte:</para>
<itemizedlist>
<listitem>
<para>Welche Software-Komponenten beim Senden und
Empfangen von elektronischer Post involviert sind.</para>
</listitem>
<listitem>
<para>Wo sich grundlegende <application>sendmail</application>
Konfigurationsdateien in FreeBSD befinden.</para>
</listitem>
<listitem>
<para>Den Unterschied zwischen entfernten und lokalen
Postfächern.</para>
</listitem>
<listitem>
<para>Wie man Versender von Massennachrichten daran hindern kann,
Ihren E-Mail-Server illegalerweise als Weiterleitung zu verwenden.
</para>
</listitem>
<listitem>
<para>Wie man den Standard-Mailer des Systems,
<application>sendmail</application>, ersetzt.</para>
</listitem>
<listitem>
<para>Wie man oft auftretende E-Mail-Server Probleme behebt.</para>
</listitem>
<listitem>
<para>Wie E-Mails mit UUCP verschickt werden.</para>
</listitem>
<listitem>
<para>Wie E-Mails über einen Relay verschickt werden.</para>
</listitem>
<listitem>
<para>Wie E-Mails über eine Einwahlverbindung gehandhabt
werden.</para>
</listitem>
<listitem>
<para>Wie Sie die SMTP-Authentifizierung einrichten.</para>
</listitem>
<listitem>
<para>Den Empfang und den Versand von E-Mails mithilfe
von Programmen wie <application>mutt</application>.</para>
</listitem>
<listitem>
<para>Wie E-Mails von einem entfernten Server mit
<acronym>POP</acronym> oder <acronym>IMAP</acronym>
abgeholt werden.</para>
</listitem>
<listitem>
<para>Wie eingehende E-Mail automatisch gefiltert wird.</para>
</listitem>
</itemizedlist>
<para>Bevor Sie dieses Kapitel lesen, sollten Sie:</para>
<itemizedlist>
<listitem>
<para>Ihre Netzwerk-Verbindung richtig einrichten.
(<xref linkend="advanced-networking"/>).</para>
</listitem>
<listitem>
<para>Die DNS-Information für Ihren E-Mail-Server einstellen
(<xref linkend="network-servers"/>).</para>
</listitem>
<listitem>
<para>Wissen, wie man zusätzliche Dritthersteller-Software
installiert (<xref linkend="ports"/>).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="mail-using">
<title>Elektronische Post benutzen</title>
<indexterm><primary>POP</primary></indexterm>
<indexterm><primary>IMAP</primary></indexterm>
<indexterm><primary>DNS</primary></indexterm>
<para>Fünf größere Teile sind am E-Mail-Austausch beteiligt:
<link linkend="mail-mua">Das Benutzerprogramm</link>,
<link linkend="mail-mta">der Server-Dämon</link>,
<link linkend="mail-dns">DNS</link>,
<link linkend="mail-receive">ein entferntes oder lokales
Postfach</link> und natürlich
<link linkend="mail-host">der E-Mail-Server</link> selbst.</para>
<sect2 id="mail-mua">
<title>Das Benutzerprogramm</title>
<para>Das beinhaltet Kommandozeilenprogramme wie
<application>mutt</application>, <application>alpine</application>,
<application>elm</application>, <application>mail</application>
und Programme mit grafischer Benutzeroberfläche, wie
<application>balsa</application> und <application>xfmail</application>
um einige zu nennen, und <quote>aufwändigere</quote>, wie WWW-Browser.
Diese Programme geben die E-Mail-Transaktionen an den lokalen
<link linkend="mail-host"><quote>E-Mail-Server</quote></link>,
weiter, entweder über einen der verfügbaren
<link linkend="mail-mta">Server-Dämonen</link> oder eine
<acronym>TCP</acronym>-Verbindung.</para>
</sect2>
<sect2 id="mail-mta">
<title>E-Mail-Server Dämon</title>
<indexterm>
<primary>E-Mail-Server Dämonen</primary>
<secondary><application>sendmail</application></secondary>
</indexterm>
<indexterm>
<primary>E-Mail-Server Dämonen</primary>
<secondary><application>postfix</application></secondary>
</indexterm>
<indexterm>
<primary>E-Mail-Server Dämonen</primary>
<secondary><application>qmail</application></secondary>
</indexterm>
<indexterm>
<primary>E-Mail-Server Dämonen</primary>
<secondary><application>exim</application></secondary>
</indexterm>
<para>&os; enthält standardmäßig
<application>sendmail</application>; es lassen
sich aber auch andere E-Mail-Server Dämonen
betreiben, beispielsweise</para>
<itemizedlist>
<listitem>
<para><application>exim</application>,</para>
</listitem>
<listitem>
<para><application>postfix</application> oder</para>
</listitem>
<listitem>
<para><application>qmail</application>.</para>
</listitem>
</itemizedlist>
<para>Der Server-Dämon hat üblicherweise zwei
Funktionen: Er kümmert sich um das Empfangen von
eingehenden E-Mails und stellt ausgehende E-Mails zu. Es
ist <emphasis>nicht</emphasis> Aufgabe des Dämons,
E-Mails über <acronym>POP</acronym> oder
<acronym>IMAP</acronym> bereit zu stellen, noch Zugriffe
auf das lokale Postfach <filename>mbox</filename>
oder Verzeichnisse mit Postfächern zu gewähren.
Dafür benötigen Sie einen zusätzlichen
<link linkend="mail-receive">Dämon</link>.</para>
<warning>
<para>Alte Versionen von <application>sendmail</application>
enthalten schwerwiegende Sicherheitslöcher, die
einem Angreifer Zugriff auf Ihren Rechner verschaffen
können. Um Sicherheitsprobleme zu umgehen,
sollten Sie eine aktuelle
<application>sendmail</application>-Version benutzen.
Sie können auch einen anderen <acronym>MTA</acronym>
aus der <link linkend="ports">&os; Ports-Sammlung</link>
benutzen.</para>
</warning>
</sect2>
<sect2 id="mail-dns">
<title>E-Mail und DNS</title>
<para>Das Domain Name System (DNS) und sein Dämon
<command>named</command> spielen eine große Rolle in der
Auslieferung von E-Mails. Um E-Mails auszuliefern,
fragt der Mail-Server-Dämon im DNS den Rechner ab,
der E-Mails für das Zielsystem entgegennimmt.
Der gleiche Vorgang läuft ab, wenn eine E-Mail
von einem entfernten Server auf Ihrem Mail-Server
zugestellt wird.</para>
<indexterm>
<primary>MX-Eintrag</primary>
</indexterm>
<para>Im <acronym>DNS</acronym> werden Rechnernamen auf
IP-Adressen abgebildet. Daneben werden spezielle
Informationen für das Mail-System gespeichert,
die <firstterm>MX-Einträge</firstterm>
(<foreignphrase>MX record</foreignphrase>) genannt werden.
Der MX-Eintrag (von <foreignphrase>Mail eXchanger</foreignphrase>)
gibt an, welcher Rechner oder welche Rechner E-Mails
für eine Domain annehmen. Existiert kein MX-Record
für einen Rechner oder dessen Domain, werden
E-Mails direkt an den Rechner zugestellt, vorausgesetzt
der Rechner besitzt einen A-Eintrag, der den Rechnernamen
auf seine IP-Adresse abbildet.</para>
<para>Mit dem Kommando &man.host.1; können Sie die
MX-Einträge für eine Domain abfragen:</para>
<screen>&prompt.user; <userinput>host -t mx FreeBSD.org</userinput>
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen>
</sect2>
<sect2 id="mail-receive">
<title>E-Mails empfangen</title>
<indexterm>
<primary>E-Mail</primary>
<secondary>empfangen</secondary>
</indexterm>
<para>Der E-Mail-Server empfängt alle E-Mails für Ihre
Domäne. Er speichert die E-Mails entweder im
<filename>mbox</filename>-Format (die Vorgabe) oder im
Maildir-Format. Die E-Mails können lokal mit
Programmen wie &man.mail.1; oder <application>mutt</application>
gelesen werden. Mithilfe von Protokollen wie
<acronym>POP</acronym> oder <acronym>IMAP</acronym> können
die E-Mails auch von entfernten Rechnern gelesen werden. Wenn
Sie die E-Mails direkt auf dem E-Mail-Server lesen möchten,
wird kein <acronym>POP</acronym>- oder
<acronym>IMAP</acronym>-Server gebraucht.</para>
<sect3 id="pop-and-imap">
<title>Auf entfernte Postfächer mit <acronym>POP</acronym>
und <acronym>IMAP</acronym> zugreifen</title>
<indexterm>
<primary>POP</primary>
</indexterm>
<indexterm>
<primary>IMAP</primary>
</indexterm>
<para>Wenn Sie auf entfernte Postfächer zugreifen
wollen, benötigen Sie den Zugang zu einem
<acronym>POP</acronym>- oder <acronym>IMAP</acronym>-Server.
Beide Protokolle bieten einen einfachen Zugriff auf entfernte
Postfächer. <acronym>IMAP</acronym> besitzt allerdings
einige Vorteile, unter anderem:</para>
<itemizedlist>
<listitem>
<para><acronym>IMAP</acronym> kann sowohl Nachrichten
auf einem entfernten Server speichern als auch von
dort abholen.</para>
</listitem>
<listitem>
<para><acronym>IMAP</acronym> unterstützt
gleichzeitig ablaufende Aktualisierungen.</para>
</listitem>
<listitem>
<para>Da es nicht gleich die komplette Nachricht
herunterlädt, ist <acronym>IMAP</acronym>
über langsame Verbindungen sehr nützlich.
Weiterhin können E-Mails auf dem Server
durchsucht werden, was den Datenverkehr zwischen
Clients und dem Server minimiert.</para>
</listitem>
</itemizedlist>
<para>Wenn Sie einen <acronym>POP</acronym>- oder
<acronym>IMAP</acronym>-Server installieren wollen,
gehen Sie nach den folgenden Schritten vor:</para>
<procedure>
<step>
<para>Wählen Sie einen <acronym>IMAP</acronym>-
oder <acronym>POP</acronym>-Server aus, der
Ihre Anforderungen erfüllt. Die nachstehenden
Server sind sehr bekannt:</para>
<itemizedlist>
<listitem>
<para><application>qpopper</application></para>
</listitem>
<listitem>
<para><application>teapop</application></para>
</listitem>
<listitem>
<para><application>imap-uw</application></para>
</listitem>
<listitem>
<para><application>courier-imap</application></para>
</listitem>
<listitem>
<para><application>dovecot</application></para>
</listitem>
</itemizedlist>
</step>
<step>
<para>Installieren Sie den ausgewählten
<acronym>POP</acronym>- oder <acronym>IMAP</acronym>-Daemon
aus der Ports-Sammlung.</para>
</step>
<step>
<para>Wenn erforderlich, passen Sie die Datei
<filename>/etc/inetd.conf</filename> an, um
den <acronym>POP</acronym>- oder
<acronym>IMAP</acronym>-Server zu starten.</para>
</step>
</procedure>
<warning>
<para>Beachten Sie, dass sowohl <acronym>POP</acronym>
als auch <acronym>IMAP</acronym> Daten, wie den
Benutzernamen und das Passwort, im Klartext
übertragen. Wenn Sie die mit diesen Protokollen
übertragenen Daten schützen wollen, können
Sie die Sitzung mittels &man.ssh.1; tunneln oder SSL verwenden.
Tunneln von Sitzungen wird in <xref
linkend="security-ssh-tunneling"/> beschrieben und SSL wird in
<xref linkend="openssl"/> dargestellt.</para>
</warning>
</sect3>
<sect3 id="local">
<title>Auf lokale Postfächer zugreifen</title>
<para>Auf Postfächer können Sie lokal mithilfe
spezieller Benutzerprogramme, die
<firstterm>Mail-User-Agents</firstterm>
(<acronym>MUA</acronym>s) genannt werden, zugreifen.
Beispiele für solche Programme sind
<application>mutt</application> oder &man.mail.1;.</para>
</sect3>
</sect2>
<sect2 id="mail-host">
<title>Der E-Mail-Server</title>
<indexterm><primary>E-Mail-Server</primary></indexterm>
<para><quote>E-Mail-Server</quote> wird der Rechner genannt, welcher
für die Zustellung und das Empfangen von E-Mails auf Ihrem
Rechner oder vielleicht Ihrem Netzwerk zuständig ist.</para>
</sect2>
</sect1>
<sect1 id="sendmail">
<sect1info>
<authorgroup>
<author>
<firstname>Christopher</firstname>
<surname>Shumway</surname>
<contrib>Beigesteuert von </contrib>
</author>
</authorgroup>
</sect1info>
<title><application>sendmail</application>-Konfiguration</title>
<indexterm>
<primary><application>sendmail</application></primary>
</indexterm>
<para>&man.sendmail.8; ist das standardmäßig in
FreeBSD installierte Mailübertragungsprogramm (MTA).
Die Aufgabe von <application>sendmail</application> ist es,
E-Mails von E-Mail-Benutzerprogrammen (<acronym>MUA</acronym>)
anzunehmen und diese zu den
entsprechenden Mailern zu liefern, die in der Konfigurationsdatei
definiert sind. <application>sendmail</application> kann auch
Netzwerkverbindungen annehmen und E-Mails zu lokalen
<firstterm>Mailboxen</firstterm>
<footnote>
<para>Mailbox = Post- beziehungsweise Briefkasten</para>
</footnote>
oder anderen Programmen liefern.</para>
<para><application>sendmail</application> benutzt folgende
Konfigurationsdateien:</para>
<indexterm>
<primary><filename>/etc/mail/access</filename></primary>
</indexterm>
<indexterm>
<primary><filename>/etc/mail/aliases</filename></primary>
</indexterm>
<indexterm>
<primary><filename>/etc/mail/local-host-names</filename></primary>
</indexterm>
<indexterm>
<primary><filename>/etc/mail/mailer.conf</filename></primary>
</indexterm>
<indexterm>
<primary><filename>/etc/mail/mailertable</filename></primary>
</indexterm>
<indexterm>
<primary><filename>/etc/mail/sendmail.cf</filename></primary>
</indexterm>
<indexterm>
<primary><filename>/etc/mail/virtusertable</filename></primary>
</indexterm>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Dateiname</entry>
<entry>Funktion</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<filename>/etc/mail/access</filename>
</entry>
<entry>Datenbank, in der Zugriffsrechte auf
<application>sendmail</application> verwaltet werden</entry>
</row>
<row>
<entry>
<filename>/etc/mail/aliases</filename>
</entry>
<entry>Mailbox Aliase</entry>
</row>
<row>
<entry>
<filename>/etc/mail/local-host-names</filename>
</entry>
<entry>Liste der Rechner für die
<application>sendmail</application> E-Mails akzeptiert</entry>
</row>
<row>
<entry>
<filename>/etc/mail/mailer.conf</filename>
</entry>
<entry>Mailer Programmkonfiguration</entry>
</row>
<row>
<entry>
<filename>/etc/mail/mailertable</filename>
</entry>
<entry>Mailer Versand-Zuordnungstabelle</entry>
</row>
<row>
<entry>
<filename>/etc/mail/sendmail.cf</filename>
</entry>
<entry>Hauptkonfigurationsdatei für
<application>sendmail</application></entry>
</row>
<row>
<entry>
<filename>/etc/mail/virtusertable</filename>
</entry>
<entry>Virtuelle Benutzer und Domänen-Tabellen</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<sect2>
<title><filename>/etc/mail/access</filename></title>
<para>Die Zugriffsdatenbank bestimmt, welche(r) Rechner oder IP-Adresse(n)
Zugriff auf den lokalen E-Mail-Server haben und welche Art von Zugriff
ihnen gestattet wird.
Rechner können als <option>OK</option>, <option>REJECT</option>
oder <option>RELAY</option> eingetragen oder einfach an
<application>sendmail</application>s Fehlerbehandlungsroutine mit einem
angegebenen Mailer-Fehler übergeben werden.
Rechner, die als <option>OK</option> eingetragen sind, was die
Grundeinstellung ist, sind berechtigt E-Mails zu diesem Rechner zu
schicken, solange die endgültige Zieladresse der lokale Rechner ist.
Verbindungen von Rechnern, die als <option>REJECT</option>
aufgelistet sind, werden abgelehnt.
Rechnern mit gesetzter <option>RELAY</option>-Option für
ihren Rechnernamen wird erlaubt Post für jede Zieladresse
durch diesen Mail-Server zu senden.</para>
<example>
<title>Konfigurieren der <application>sendmail</application>
Zugriffsdatenbank</title>
<programlisting>cyberspammer.com 550 We do not accept mail from spammers
FREE.STEALTH.MAILER@ 550 We do not accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAY</programlisting>
</example>
<para>In diesem Beispiel haben wir fünf Einträge.
E-Mail-Versender, die mit der linken Spalte der Tabelle
übereinstimmen, sind betroffen von der Aktion in der rechten
Spalte. Die ersten beiden Beispiele übergeben einen Fehlercode an
<application>sendmail</application>s Fehlerbehandlungsroutine.
Die Nachricht wird an den entfernten Rechner gesendet, wenn eine
Nachricht mit der linken Spalte der Tabelle übereinstimmt.
Der nächste Eintrag lehnt Post von einem bestimmten Rechner
des Internets ab (<hostid>another.source.of.spam</hostid>).
Der nächste Eintrag akzeptiert E-Mail-Verbindungen des Rechners
<hostid role="fqdn">okay.cyberspammer.com</hostid>, der exakter angegeben
wurde als <hostid role="fqdn">cyberspammer.com</hostid> in der Zeile
darüber.
Genauere Übereinstimmungen haben den Vorrang vor weniger genauen.
Der letzte Eintrag erlaubt die Weiterleitung von elektronischer Post
von Rechnern mit einer IP-Adresse die mit <hostid>128.32</hostid>
beginnt. Diese Rechner würden E-Mails durch diesen
E-Mail-Server senden können, die für andere E-Mail-Server
bestimmt sind.</para>
<para>Wenn diese Datei geändert wird, müssen Sie
<command>make</command> in <filename>/etc/mail</filename>
ausführen um die Datenbank zu aktualisieren.</para>
</sect2>
<sect2>
<title><filename>/etc/mail/aliases</filename></title>
<para>Die Alias-Datenbank enthält eine Liste der virtuellen
Mailboxen, die in andere Benutzer, Dateien, Programme oder
andere Aliase expandiert werden. Hier sind ein paar Beispiele,
die in <filename>/etc/mail/aliases</filename> benutzt werden
können:</para>
<example>
<title>E-Mail Aliases</title>
<programlisting>root: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"</programlisting>
</example>
<para>Das Dateiformat ist simpel; Der Name der Mailbox auf der linken
Seite des Doppelpunkts wird mit den Zielen auf der rechten Seite
ersetzt.
Das erste Beispiel ersetzt die Mailbox <username>root</username>
mit der Mailbox <username>localuser</username>, die dann wieder in der
Alias-Datenbank gesucht wird. Wird kein passender Eintrag
gefunden, wird die Nachricht zum lokalen Benutzer
<username>localuser</username> geliefert. Das nächste Beispiel
zeigt eine E-Mail-Verteilerliste. E-Mails an die Mailbox
<username>ftp-bugs</username> werden zu den drei lokalen Mailboxen
<username>joe</username>, <username>eric</username> und
<username>paul</username> gesendet. Eine lokale Mailbox kann auch
als <email>user@example.com</email> angegeben werden. Das
nächste Beispiel zeigt das Schreiben von E-Mails in eine Datei,
in diesem Fall <filename>/dev/null</filename>. Das letzte Beispiel
verdeutlicht das Senden von E-Mails an ein Programm, in diesem Fall
wird die Nachricht in die Standardeingabe von
<filename>/usr/local/bin/procmail</filename> mittels einer UNIX Pipe
geschrieben.</para>
<para>Wenn diese Datei geändert wird, müssen Sie
<command>make</command> in <filename>/etc/mail</filename>
ausführen um die Änderungen in die Datenbank zu
übernehmen.</para>
</sect2>
<sect2>
<title><filename>/etc/mail/local-host-names</filename></title>
<para>Das ist die Liste der Rechnernamen, die &man.sendmail.8; als
lokalen Rechnernamen akzeptiert. Setzen Sie alle Domänen oder
Rechner, für die <application>sendmail</application>
Mail empfangen soll, in diese Datei.
Wenn dieser Mail-Server zum Beispiel E-Mails für die
Domäne example.com und den Rechner
<hostid role="fqdn">mail.example.com</hostid> annehmen soll,
könnte seine <filename>local-host-names</filename> Datei so
aussehen:</para>
<programlisting>example.com
mail.example.com</programlisting>
<para>Wird diese Datei geändert, muss &man.sendmail.8; neu
gestartet werden, damit es die Neuerungen einliest.</para>
</sect2>
<sect2>
<title><filename>/etc/mail/sendmail.cf</filename></title>
<para>Die Hauptkonfigurations-Datei von
<application>sendmail</application> (<filename>sendmail.cf</filename>)
kontrolliert das allgemeine Verhalten von
<application>sendmail</application>, einschließlich allem vom
Umschreiben von E-Mail Adressen bis hin zum Übertragen von
Ablehnungsnachrichten an entfernte E-Mail-Server.
Mit solch einer mannigfaltigen Rolle ist die Konfigurationsdatei
natürlich ziemlich komplex und ihre Einzelheiten können
in diesem Kapitel nicht besprochen werden.
Glücklicherweise muss diese Datei selten für
Standard E-Mail-Server geändert werden.</para>
<para>Die <application>sendmail</application> Hauptkonfigurationsdatei
kann mit &man.m4.1; Makros erstellt werden, die Eigenschaften
und Verhalten von <application>sendmail</application> definieren.
Einige der Details finden Sie in
<filename>/usr/src/contrib/sendmail/cf/README</filename>.</para>
<para>Wenn Änderungen an dieser Datei vorgenommen werden, muss
<application>sendmail</application> neu gestartet werden, damit die
Änderungen Wirkung zeigen.</para>
</sect2>
<sect2>
<title><filename>/etc/mail/virtusertable</filename></title>
<para>Die Datei <filename>virtusertable</filename> ordnet
Adressen für virtuelle Domänen und Mailboxen reellen
Mailboxen zu. Diese Mailboxen können lokal, auf entfernten
Systemen, Aliase in <filename>/etc/mail/aliases</filename> oder
eine Datei sein.</para>
<example>
<title>Beispiel einer virtuellen Domänen Zuordnung</title>
<programlisting>root@example.com root
postmaster@example.com postmaster@noc.example.net
@example.com joe</programlisting>
</example>
<para>In dem obigen Beispiel haben wir einen Eintrag für die
Domäne <hostid role="domainname">example.com</hostid>. Diese
Datei wird nach dem ersten übereinstimmenden Eintrag durchsucht.
Die erste Zeile ordnet <email>root@example.com</email> der
lokalen Mailbox <username>root</username> zu. Der nächste Eintrag ordnet
<email>postmaster@example.com</email> der Mailbox
<username>postmaster</username> auf dem Rechner
<hostid role="fqdn">noc.example.net</hostid> zu. Zuletzt, wenn keine
Übereinstimmung von <hostid role="fqdn">example.com</hostid>
gefunden wurde, wird der letzte Eintrag verglichen, der mit jeder
Mail-Nachricht übereinstimmt, die an jemanden bei
<hostid>example.com</hostid> adressiert wurde.
Diese werden der lokalen Mailbox joe zugeordnet.</para>
</sect2>
</sect1>
<sect1 id="mail-changingmta">
<sect1info>
<authorgroup>
<author>
<firstname>Andrew</firstname>
<surname>Boothman</surname>
<contrib>Geschrieben von </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Gregory</firstname>
<surname>Neil Shapiro</surname>
<contrib>Informationen entnommen aus E-Mails geschrieben von
</contrib>
</author>
</authorgroup>
</sect1info>
<title>Wechseln des Mailübertragungs-Agenten</title>
<indexterm>
<primary>E-Mail</primary>
<secondary>MTA, wechseln</secondary>
</indexterm>
<para>Wie bereits erwähnt, ist bei FreeBSD
<application>sendmail</application> schon als Ihr
Mailübertragungs-Agent installiert.
Deswegen ist es standardmäßig für Ihre aus- und
eingehenden E-Mails verantwortlich.</para>
<para>Jedoch wollen einige Systemadministratoren den MTA ihres Systems
wechseln, was eine Reihe von Gründen haben kann. Diese Gründe
reichen von einfach einen anderen MTA ausprobieren wollen bis hin dazu
eine bestimmte Besonderheit zu benötigen oder ein Paket, welches
auf einen anderen Mailer angewiesen ist. Glücklicherweise macht
FreeBSD das Wechseln einfach, egal aus welchem Grund.</para>
<sect2>
<title>Installieren eines neuen MTA</title>
<para>Sie haben eine große Auswahl an verfügbaren
MTA-Programmen. Ein guter Startpunkt ist die
<link linkend="ports">FreeBSD-Ports-Sammlung</link>, wo Sie viele
finden werden. Selbstverständlich steht es Ihnen frei, jeden
MTA von überall her zu verwenden, solange Sie ihn unter
FreeBSD zum Laufen bekommen.</para>
<para>Fangen Sie an, indem Sie Ihren neuen MTA installieren. Sobald
er installiert ist, gibt er Ihnen die Chance zu entscheiden ob er
wirklich Ihren Bedürfnissen genügt. Zusätzlich gibt
er Ihnen die Möglichkeit die neue Software zu konfigurieren,
bevor sie den Job von <application>sendmail</application>
übernimmt. Dabei sollten Sie sicherstellen, dass beim
Installieren der neuen Software keine Versuche unternommen werden,
System-Programme wie <filename>/usr/bin/sendmail</filename> zu
überschreiben. Ansonsten wurde Ihre neue E-Mail-Software in
den Dienst gestellt, bevor Sie sie konfiguriert haben.</para>
<para>Für Informationen über die Konfiguration des von
Ihnen gewählten MTAs sehen Sie bitte in der dazugehörigen
Dokumentation nach.</para>
</sect2>
<sect2 id="mail-disable-sendmail">
<title>Ausschalten von <application>sendmail</application></title>
<warning>
<para>Wenn Sie die Sendefunktion von
<application>sendmail</application> deaktivieren, müssen
Sie für den E-Mail-Versand ein alternatives System
installieren. Tun Sie dies nicht, sind Systemfunktionen wie
&man.periodic.8; nicht mehr in der Lage, ihre Resulate und
Meldungen als E-Mail zu versenden. Aber auch viele andere
Teile Ihres Systems erwarten, dass Sie über ein
<application>sendmail</application>-kompatibles System
verfügen. Sind Programme auf (die von Ihnen
deaktivierten)
<application>sendmail</application>-Binärdateien
angewiesen, landen deren E-Mails ansonsten in einer inaktiven
<application>sendmail</application>-Warteschlange und
können nicht ausgeliefert werden.</para>
</warning>
<para>Um <application>sendmail</application> komplett zu
deaktivieren (also inklusive der Funktion zum Versand
von E-Mails), fügen Sie die Zeile</para>
<programlisting>sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"</programlisting>
<para>in <filename>/etc/rc.conf</filename> ein.</para>
<para>Wenn Sie lediglich die Funktion zum Empfang von E-Mails
durch <application>sendmail</application> deaktivieren
wollen, sollten Sie folgenden Eintrag in
<filename>/etc/rc.conf</filename> einfügen:</para>
<programlisting>sendmail_enable="NO"</programlisting>
<para>Weitere Informationen zu den Startoptionen von
<application>sendmail</application> finden Sie in der
Manualpage &man.rc.sendmail.8;.</para>
</sect2>
<sect2>
<title>Starten Ihres neuen MTA beim Hochfahren des Systems</title>
<para>Der neue MTA kann beim Hochfahren durch das Hinzufügen einer
Konfigurationszeile in der <filename>/etc/rc.conf</filename> gestartet
werden, wie das folgende Beispiel für Postfix zeigt:</para>
<screen>&prompt.root; echo '<replaceable>postfix</replaceable>_enable=<quote>YES</quote>' &gt;&gt; /etc/rc.conf</screen>
<para>Der MTA wird jetzt automatisch beim Hochfahren des Systems
gestartet.</para>
</sect2>
<sect2>
<title>Ersetzen von <application>sendmail</application> als
Standard-Mailer des Systems</title>
<para>Das Programm <application>sendmail</application> ist so
allgegenwärtig als Standard-Software auf &unix; Systemen, dass
einige Programme einfach annehmen es sei bereits installiert und
konfiguriert.
Aus diesem Grund stellen viele alternative MTAs ihre eigenen
kompatiblen Implementierung der <application>sendmail</application>
Kommandozeilen-Schnittstelle zur Verfügung. Das vereinfacht
ihre Verwendung als <quote>drop-in</quote> Ersatz für
<application>sendmail</application>.</para>
<para>Folglich werden Sie, wenn Sie einen alternativen Mailer benutzen,
sicherstellen müssen, dass ein Programm, das versucht
<application>sendmail</application>s Standard-Dateien wie
<filename>/usr/bin/sendmail</filename> auszuführen,
stattdessen Ihr gewähltes Mailübertragungsprogramm
ausführt.
Zum Glück stellt FreeBSD das &man.mailwrapper.8;-System
zur Verfügung, das diese Arbeit für Sie erledigt.</para>
<para>Wenn <application>sendmail</application> arbeitet wie es
installiert wurde, werden Sie in
<filename>/etc/mail/mailer.conf</filename> etwas wie das Folgende
vorfinden:</para>
<programlisting>sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmail</programlisting>
<para>Das bedeutet, dass wenn eines der gewöhnlichen Kommandos
(wie zum Beispiel <filename>/usr/bin/sendmail</filename> selbst)
ausgeführt wird, das System tatsächlich eine Kopie des
mailwrapper mit dem Namen <filename>sendmail</filename> startet, die
<filename>mailer.conf</filename> überprüft und
<filename>/usr/libexec/sendmail/sendmail</filename> ausführt.
Mit diesem System lassen sich die Programme, die für die
<application>sendmail</application>-Funktionen gestartet werden,
leicht ändern.</para>
<para>Daher könnten Sie, wenn Sie wollten, dass
<filename>/usr/local/supermailer/bin/sendmail-compat</filename>
anstelle von <application>sendmail</application> ausgeführt
wird, <filename>/etc/mailer.conf</filename> wie folgt abändern:
</para>
<programlisting>sendmail /usr/local/supermailer/bin/sendmail-compat
send-mail /usr/local/supermailer/bin/sendmail-compat
mailq /usr/local/supermailer/bin/mailq-compat
newaliases /usr/local/supermailer/bin/newaliases-compat
hoststat /usr/local/supermailer/bin/hoststat-compat
purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting>
</sect2>
<sect2>
<title>Fertigstellen</title>
<para>Sobald Sie alles Ihren Wünschen entsprechend
konfiguriert haben, sollten Sie entweder die
<application>sendmail</application> Prozesse beenden, die Sie
nicht mehr benötigen, und die zu Ihrer neuen Software
zugehörigen Prozesse starten, oder einfach das System
neustarten. Das Neustarten des Systems gibt Ihnen auch die
Gelegenheit sicherzustellen, dass Sie Ihr System korrekt
konfiguriert haben, um Ihren neuen MTA automatisch beim
Hochfahren zu starten.</para>
</sect2>
</sect1>
<sect1 id="mail-trouble">
<title>Fehlerbehebung</title>
<para>Hier finden sich ein paar häufig gestellte Fragen und ihre
Antworten, die von der <ulink url="&url.books.faq;/">FAQ</ulink>
übernommen wurden.</para>
<qandaset>
<qandaentry>
<question>
<para>Warum muss ich einen FQDN (fully-qualified domain name/
voll ausgeschriebenen Domänennamen) für meine Rechner
verwenden?</para>
</question>
<answer>
<para>Vielleicht liegen die Rechner in einer unterschiedlichen
Domäne; zum Beispiel, wenn Sie sich in
<hostid role="fqdn">foo.bar.edu</hostid> befinden, und einen Rechner
namens <hostid>mumble</hostid> in der
<hostid role="domainname">bar.edu</hostid> Domäne erreichen
wollen, müssen Sie ihn mit dem voll ausgeschriebenen
Domänennamen <hostid role="fqdn">mumble.bar.edu</hostid>
kontaktieren, anstatt bloß mit <hostid>mumble</hostid>.</para>
<para>Traditionell wurde das von dem BSD BIND
<foreignphrase>Resolver</foreignphrase> erlaubt. Wie auch immer,
die aktuelle Version von <application>BIND</application>, 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 <hostid>mumble</hostid> entweder als
<hostid role="fqdn">mumble.foo.bar.edu</hostid> gefunden werden,
oder er wird in der root Domäne gesucht.</para>
<para>Damit unterscheidet es sich von vorherigem Verhalten, bei dem
die Suche über <hostid role="domainname">mumble.bar.edu</hostid>
und <hostid role="domainname">mumble.edu</hostid> lief. Schauen Sie
sich RFC 1535 an, wenn Sie wissen möchten, warum das als
schlecht und sogar als Sicherheitsloch angesehen wurde.</para>
<para>Um das zu umgehen, können Sie die Linie
<programlisting>search foo.bar.edu bar.edu</programlisting>
anstatt der vorherigen
<programlisting>domain foo.bar.edu</programlisting>
in Ihre <filename>/etc/resolv.conf</filename> einsetzen. Aber
stellen Sie sicher, dass die Suchordnung nicht die Begrenzung von
<quote>lokaler und öffentlicher Administration</quote>, wie
RFC 1535 sie nennt, überschreitet.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<indexterm>
<primary>MX-Eintrag</primary>
</indexterm>
<para>Warum meldet Sendmail
<errorname>mail loops back to myself</errorname>?</para>
</question>
<answer>
<para>Dies wird in der Sendmail-FAQ wie folgt beantwortet:</para>
<literallayout>Ich erhalte folgende Fehlermeldungen:
553 MX list for domain.net points back to relay.domain.net
554 &lt;user@domain.net&gt;... 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.</literallayout>
<para>Die aktuelle Version der <ulink
url="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq">Sendmail-FAQ</ulink>
wird nicht mehr mit dem Sendmail-Release verwaltet. Sie
wird jedoch regelmäßig nach <ulink
url="news:comp.mail.sendmail">comp.mail.sendmail</ulink>,
<ulink url="news:comp.mail.misc">comp.mail.misc</ulink>,
<ulink url="news:comp.mail.smail">comp.mail.smail</ulink>,
<ulink url="news:comp.answers">comp.answers</ulink> und
<ulink url="news:news.answers">news.answers</ulink>
gepostet. Sie können auch eine Kopie per E-Mail
bekommen, indem Sie eine Mail mit dem Inhalt <literal>send
usenet/news.answers/mail/sendmail-faq</literal> an
<literal>mail-server@rtfm.mit.edu</literal> schicken.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<indexterm><primary>PPP</primary></indexterm>
<para>Wie kann ich einen E-Mail-Server auf einem
Anwahl-PPP Rechner betreiben?</para>
</question>
<answer>
<para>Sie wollen einen FreeBSD-Rechner in einem LAN an das
Internet anbinden. Der FreeBSD-Rechner wird ein E-Mail
<foreignphrase>Gateway</foreignphrase> für das LAN.
Die PPP-Verbindung ist keine Standleitung.</para>
<indexterm>
<primary>MX-Eintrag</primary>
</indexterm>
<para>Es gibt mindestens zwei Wege um dies zu tun. Einer davon ist
UUCP zu verwenden.</para>
<para>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
<hostid role="domainname">example.com</hostid> ist, und Ihr
Internet-Dienstanbieter
<hostid role="domainname">example.net</hostid> so eingestellt hat,
dass er Ihrer Domäne einen sekundären MX-Dienst zur
Verfügung stellt:</para>
<programlisting>example.com. MX 10 bigco.com.
MX 20 example.net.</programlisting>
<para>Nur ein Rechner sollte als Endempfänger angegeben sein
(fügen Sie <literal>Cw example.com</literal> zu
<filename>/etc/sendmail.cf</filename> auf example.com).</para>
<para>Wenn das <command>sendmail</command> des Versenders versucht,
die E-Mail zuzustellen, wird es versuchen, Sie über die
Modem-Verbindung (<hostid role="domainname">example.com</hostid>)
zu erreichen. Wahrscheinlich wird es keine Verbindung zustande
bringen können, da Sie nicht eingewählt sind.
<command>sendmail</command> wird die E-Mail automatisch zu der
sekundären MX-Stelle geliefert, zu Ihrem Internet-Provider
(<hostid role="domainname">example.net</hostid>).
Die sekundäre MX-Stelle wird periodisch versuchen
versuchen eine Verbindung zu Ihnen aufzubauen, um die E-Mail zu
der primären MX-Stelle
(<hostid role="domainname">example.com</hostid> zu liefern.</para>
<para>Eventuell wollen Sie etwas wie dies als Login-Skript:</para>
<programlisting>#!/bin/sh
# Put me in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &amp;
/usr/sbin/ppp -direct pppmyisp</programlisting>
<para>Wenn Sie ein separates Login-Skript für einen Benutzer
erstellen wollen, könnten Sie stattdessen
<command>sendmail -qRexample.com</command> in dem oben gezeigten
Skript verwenden. Das erzwingt die sofortige Verarbeitung der
E-Mails in Ihrer Warteschlange für
<hostid role="domainname">example.com</hostid></para>
<para>Eine weitere Verfeinerung der Situation ist wie folgt:</para>
<para>Die Nachricht wurde der &a.isp; entnommen.</para>
<programlisting>&gt; wir stellen einem Kunden den sekundären MX zur Verfügung.
&gt; Der Kunde verbindet sich mit unseren Diensten mehrmals am Tag
&gt; automatisch um die E-Mails zu seinem primären MX zu holen
&gt; (wir wählen uns nicht bei ihm ein, wenn E-Mails für seine
&gt; Domäne eintreffen). Unser sendmail sendet den Inhalt der
&gt; E-Mail-Warteschlange alle 30 Minuten. Momentan muss er 30 Minuten
&gt; eingewählt bleiben um sicher zu sein, dass alle seine E-Mails
&gt; beim primären MX eingetroffen sind.
&gt;
&gt; Gibt es einen Befehl, der sendmail dazu bringt, alle E-Mails sofort
&gt; zu senden? Der Benutzer hat natürlich keine root-Rechte auf
&gt; unserer Maschine.
In der <quote>privacy flags</quote> 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 <quote>Rechner</quote>, du musst also deinen Kunden dazu bringen,
ihre E-Mail Maschine <quote>customer.com</quote> zu nennen, sowie
<quote>hostname.customer.com</quote> im DNS. Setze einfach einen A-Eintrag
in den DNS für <quote>customer.com</quote>.</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Warum bekomme ich die Fehlermeldung <errorname>Relaying
Denied</errorname>, wenn ich E-Mails von anderen Rechnern
verschicke?</para>
</question>
<answer>
<para>In der standardmäßigen FreeBSD-Installation wird
<application>sendmail</application> nur dazu konfiguriert,
E-Mails von dem Rechner, auf dem es läuft, zu senden.
Wenn zum Beispiel ein <acronym>POP</acronym>-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 <application>MAILER-DAEMON</application> mit einer
<errorname>5.7 Relaying Denied</errorname> Fehlermeldung
versendet werden.</para>
<para>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:</para>
<screen>&prompt.root; <userinput>echo "your.isp.example.com" &gt; /etc/mail/relay-domains</userinput></screen>
<para>Nach Erstellen oder Editieren dieser Datei müssen
Sie <application>sendmail</application> 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:</para>
<programlisting>your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.org</programlisting>
<para>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
(<acronym>SPAM</acronym>) die Tür zu öffnen.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
<sect1 id="mail-advanced">
<title>Weiterführende Themen</title>
<para>Die folgenden Abschnitte behandeln kompliziertere Themen wie
E-Mail-Konfiguration und das Einrichten von E-Mail für Ihre
ganze Domäne.</para>
<sect2 id="mail-config">
<title>Grundlegende Konfiguration</title>
<para>Mit der Software im Auslieferungszustand sollten Sie fähig
sein, E-Mails an externe Rechner zu senden, solange Sie
<filename>/etc/resolv.conf</filename> eingerichtet haben oder Ihren
eigenen Name Server laufen lassen. Wenn Sie die E-Mails für
Ihren Rechner zu einem anderen Rechner geliefert haben wollen, gibt
es zwei Methoden:</para>
<itemizedlist>
<listitem>
<para>Betreiben Sie Ihren eigenen Name Server und haben Sie Ihre
eigene Domäne, zum Beispiel
<hostid role="domainname">FreeBSD.org</hostid>.</para>
</listitem>
<listitem>
<para>Lassen Sie sich E-Mails direkt zu Ihrem Rechner liefern.
Dies geschieht indem E-Mails direkt zu dem aktuellen DNS Namen
Ihrer Maschine geliefert werden. Zum Beispiel
<hostid role="fqdn">example.FreeBSD.org</hostid>.</para>
</listitem>
</itemizedlist>
<para>Ungeachtet welche Methode Sie auswählen, um E-Mails direkt
zu Ihrem Rechner geliefert zu bekommen, benötigen Sie eine
permanente (statische) IP-Adresse (keine dynamische PPP-Anwahl).
Wenn Sie sich hinter einer Firewall befinden, muss diese den
SMTP-Verkehr an Sie weiterleiten. Wollen Sie E-Mails an Ihrem
Rechner selbst empfangen, müssen Sie eines der folgenden
Dinge sicherstellen:</para>
<itemizedlist>
<listitem>
<para>Vergewissern Sie sich, dass der MX-Eintrag in Ihrem DNS zu
der IP-Adresse Ihres Rechners zeigt.</para>
</listitem>
<listitem>
<para>Stellen Sie sicher, dass sich für Ihren Rechner kein
MX-Eintrag im DNS befindet.</para>
</listitem>
</itemizedlist>
<para>Jede der erwähnten Konfigurationsmöglichkeiten erlaubt
Ihnen, E-Mails direkt auf Ihrem Rechner zu empfangen.</para>
<para>Versuchen Sie das:</para>
<screen>&prompt.root; <userinput>hostname</userinput>
example.FreeBSD.org
&prompt.root; <userinput>host example.FreeBSD.org</userinput>
example.FreeBSD.org has address 204.216.27.XX</screen>
<para>Wenn Sie diese Ausgabe erhalten, sollten direkt an
<email role="nolink">yourlogin@example.FreeBSD.org</email> geschickte
E-Mails ohne Probleme funktionieren.</para>
<para>Sehen Sie stattdessen etwas wie dies:</para>
<screen>&prompt.root; <userinput>host example.FreeBSD.org</userinput>
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org</screen>
<para>So wird jede an Ihren Rechner
(<hostid role="fqdn">example.FreeBSD.org</hostid>) gesandte E-Mail
auf <hostid>hub</hostid> unter dem gleichen Benutzernamen gesammelt
anstatt direkt zu Ihrem Rechner geschickt zu werden.</para>
<para>Die obige Information wird von Ihrem DNS-Server verwaltet.
Der DNS-Eintrag, der die E-Mail Routen-Information enthält, ist der
<foreignphrase><emphasis>M</emphasis>ail
e<emphasis>X</emphasis>change</foreignphrase> Eintrag. Existiert kein
MX-Eintrag, werden E-Mails direkt anhand der IP-Adresse geliefert.
</para>
<para>Der MX-Eintrag für
<hostid role="fqdn">freefall.FreeBSD.org</hostid> sah einmal so aus:
</para>
<programlisting>freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.com</programlisting>
<para>Wie Sie sehen können, hatte <hostid>freefall</hostid>
viele MX-Einträge. Die kleinste MX-Nummer ist der Rechner, der
die E-Mails letztendlich bekommt, wobei die anderen temporär
E-Mails in Warteschlangen einreihen während
<hostid>freefall</hostid> beschäftigt oder unerreichbar ist.</para>
<para>Um besonders nützlich zu sein, sollten stellvertretende
MX-Seiten nicht dieselben Internet-Verbindungen wie Ihre eigene
verwenden. Für Ihren Internet-Dienstleister oder andere
sollte es kein Problem darstellen, Ihnen diesen Dienst zur
Verfügung zu stellen.</para>
</sect2>
<sect2 id="mail-domain">
<title>E-Mails für Ihre Domäne</title>
<para>Um einen <quote>E-Mail-Server</quote> (auch bekannt als
Mail-Server) einzurichten, benötigen Sie eine Umlenkung
jeglicher E-Mails zu Ihm, die an die verschiedenen Workstations
gesendet werden. Im Grunde wollen Sie jede an Ihre Domäne
gesendete E-Mail abfangen (in diesem Fall
<hostid role="fqdn">*.FreeBSD.org</hostid>), damit Ihre Benutzer
E-Mails mittels POP oder direkt auf dem Server
überprüfen können.</para>
<para>Am einfachsten ist es, wenn Accounts mit gleichen
<emphasis>Benutzernamen</emphasis> auf beiden
Maschinen existieren. Verwenden Sie &man.adduser.8;, um
dies zu erreichen.</para>
<para>Der E-Mail-Server, den Sie verwenden wollen, muss als
für den E-Mail-Austausch zuständiger Rechner
auf jeder Workstation im Netzwerk gekennzeichnet werden. Dies wird
in der DNS-Konfiguration so ausgeführt:</para>
<programlisting>example.FreeBSD.org A 204.216.27.XX ; Workstation
MX 10 hub.FreeBSD.org ; Mailhost</programlisting>
<para>Diese Einstellung wird E-Mail für die Workstations zu dem
E-Mail-Server leiten, wo auch immer der A-Eintrag hinzeigt.
Die E-Mails werden zum MX-Rechner gesandt.</para>
<para>Sofern Sie nicht einen DNS-Server laufen haben, können
Sie diese Einstellung nicht selbst vornehmen. Ist es Ihnen nicht
möglich einen eigenen DNS-Server laufen zu lassen, reden Sie
mit Ihren Internet-Dienstleister oder wer auch immer Ihre
DNS-Verwaltung übernimmt.</para>
<para>Wenn Sie ein virtuelles E-Mail System anbieten, werden
die folgenden Informationen nützlich sein. Für ein Beispiel
nehmen wir an, Sie haben einen Kunden mit einer eigenen Domäne,
in diesem Fall <hostid role="domainname">customer1.org</hostid> und
Sie wollen jegliche E-Mails für
<hostid role="domainname">customer1.org</hostid> zu Ihrem
E-Mail-Server gesendet haben, der
<hostid role="fqdn">mail.myhost.com</hostid> heißt.
Der Eintrag in Ihrem DNS sollte wie folgender aussehen:</para>
<programlisting>customer1.org MX 10 mail.myhost.com
</programlisting>
<para>Sie benötigen <emphasis>keinen</emphasis> A-Eintrag, wenn
Sie für die Domain nur E-Mails verwalten wollen.</para>
<note>
<para>Bedenken Sie, dass das Pingen von
<hostid role="domainname">customer1.org</hostid> nicht möglich
ist, solange kein A-Eintrag für diese Domäne existiert.
</para>
</note>
<para>Jetzt müssen Sie nur noch
<application>sendmail</application> auf Ihrem Mailrechner mitteilen,
für welche Domänen und/oder Rechnernamen es Mails akzeptieren
soll. Es gibt einige Wege wie dies geschehen kann. Die Folgenden
funktionieren alle gleichermaßen:</para>
<itemizedlist>
<listitem>
<para>Fügen Sie die Rechnernamen zu Ihrer
<filename>/etc/sendmail.cw</filename> Datei hinzu, wenn Sie
<literal>FEATURE(use_cw_file)</literal> verwenden. Ab
<application>sendmail</application>&nbsp;8.10 heißt diese Datei
<filename>/etc/mail/local-host-names</filename>.</para>
</listitem>
<listitem>
<para>Tragen Sie eine Zeile mit dem Inhalt
<literal>Cwyour.host.com</literal> in Ihre
<filename>/etc/sendmail.cf</filename> Datei (beziehungsweise
<filename>/etc/mail/sendmail.cf</filename> ab
<application>sendmail</application>&nbsp;8.10) ein.</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="SMTP-UUCP">
<title>SMTP über UUCP</title>
<para>Die <application>sendmail</application>-Konfigurationsdatei,
die mit FreeBSD ausgeliefert wird, ist für Systeme geeignet,
die direkt ans Internet angeschlossen sind. Systeme, die
ihre E-Mails per UUCP austauschen wollen, müssen eine andere
Konfigurationsdatei installieren.</para>
<para>Die manuelle Bearbeitung von
<filename>/etc/mail/sendmail.cf</filename> ist nur etwas
für Puristen. Sendmail Version&nbsp;8 bietet die neue
Möglichkeit der Generierung von Konfigurationsdateien
über eine Vorverarbeitung mit &man.m4.1;, wobei die
tatsächliche, händische Konfiguration auf einer
höheren Abstraktionsstufe stattfindet. Sie sollten
die Konfigurationsdateien unter
<filename>/usr/src/usr.sbin/sendmail/cf</filename>
benutzen.
Die Datei <filename>README</filename> im Verzeichnis
<filename>cf</filename> kann zur grundlegenden
Einführung in die &man.m4.1;-Konfiguration dienen.</para>
<para>Zur Zustellung über UUCP sind Sie am besten damit
beraten, die <filename>mailertable</filename>-Datenbank
zu benutzen. Mit dieser Datenbank ermittelt
<application>sendmail</application> mit welchem
Protokoll und wohin eine E-Mail zugestellt werden soll.</para>
<para>Zunächst müssen Sie Ihre
<filename>.mc</filename>-Datei erstellen. Das Verzeichnis
<filename>/usr/share/sendmail/cf/cf</filename> ist
die Basis für diese Dateien. Sehen Sie sich um, es
gibt bereits einige Beispiele. Wenn Sie Ihre Datei
<filename>foo.mc</filename> genannt haben, müssen Sie
die folgenden Befehle ausführen, um sie in eine
gültige <filename>sendmail.cf</filename> umzuwandeln:</para>
<screen>&prompt.root; <userinput>cd /etc/mail</userinput>
&prompt.root; <userinput>make foo.cf</userinput>
&prompt.root; <userinput>cp foo.cf /etc/mail/sendmail.cf</userinput></screen>
<para>Eine typische <filename>.mc</filename>-Datei
könnte so aussehen:</para>
<programlisting>VERSIONID(`<replaceable>Your version number</replaceable>')
OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', <replaceable>your.uucp.relay</replaceable>)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw <replaceable>your.alias.host.name</replaceable>
Cw <replaceable>youruucpnodename.UUCP</replaceable></programlisting>
<para>Die Einstellungen <literal>accept_unresolvable_domains</literal>,
<literal>nocanonify</literal> und
<literal>confDONT_PROBE_INTERFACES</literal> werden die
Benutzung von DNS bei der Zustellung von Mails verhindern.
Die Klausel <literal>UUCP_RELAY</literal> wird aus
seltsamen Gründen benötigt &ndash; fragen Sie nicht,
warum. Setzen Sie dort einfach den Namen eines Hosts ein,
der in der Lage ist, Adressen mit der Pseudodomäne
.UUCP zu behandeln; wahrscheinlich werden Sie dort den
Relayhost Ihres ISP eintragen.</para>
<para>Wenn Sie soweit sind, müssen Sie die Datei
<filename>/etc/mail/mailertable</filename> erzeugen. Hierzu
wieder ein typisches Beispiel:</para>
<programlisting>#
# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/mailertable
#
. uucp-dom:<replaceable>your.uucp.relay</replaceable></programlisting>
<para>Ein komplexeres Beispiel könnte wie folgt
aussehen:</para>
<programlisting>#
# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:</programlisting>
<para>Die ersten drei Zeilen behandeln
spezielle Fälle, in denen an Domänen adressierte
E-Mails nicht über die Standard-Route versendet werden
sollen, sondern zu einem UUCP-Nachbarn, um den Zustellweg
<quote>abzukürzen</quote>. Die nächsten Zeilen
behandeln E-Mails an Rechner in der lokalen Domain.
Diese Mails können direkt
per SMTP zugestellt werden. Schließlich werden die
UUCP-Nachbarn in der Notation mit der Pseudodomäne
.UUCP aufgeführt, um die Standardregeln mit
<literal><replaceable>uucp-neighbour</replaceable>!<replaceable>recipient</replaceable></literal>
zu überschreiben. Die letzte Zeile besteht stets aus
einem einzelnen Punkt, der als Ihr Universalgateway in die
Welt dient. Alle Knoten hinter dem Schlüsselwort
<literal>uucp-dom:</literal> müssen gültige
UUCP-Nachbarn sein, was Sie mit dem Befehl
<literal>uuname</literal> überprüfen
können.</para>
<para>Als Erinnerung daran, dass diese Datei in eine
DBM-Datenbankdatei konvertiert werden muss, bevor sie
benutzt werden kann, sollte der Befehl hierzu als
Kommentar am Anfang der <filename>mailertable</filename>
plaziert werden. Sie müssen den Befehl jedes Mal
ausführen, wenn Sie die <filename>mailertable</filename>
geändert haben.</para>
<para>Abschließender Hinweis: Wenn Sie unsicher sind,
ob bestimmte Zustellwege funktionieren, erinnern Sie sich
an die Option <option>-bt</option> von
<application>sendmail</application>. Sie startet
<application>sendmail</application> im
<emphasis>Adress-Testmodus</emphasis>; geben Sie
einfach <literal>3,0</literal>, gefolgt von der Adresse,
für die Sie den Zustellweg testen möchten, ein.
Die letzte Zeile nennt Ihnen den benutzten Mailagenten,
den Zielhost, mit dem dieser Agent aufgerufen wird und die
(möglicherweise übersetzte) Adresse. Verlassen Sie diesen
Modus, indem Sie
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>D</keycap>
</keycombo> eingeben.</para>
<screen>&prompt.user; <userinput>sendmail -bt</userinput>
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter &lt;ruleset&gt; &lt;address&gt;
<prompt>&gt;</prompt> <userinput>3,0 foo@example.com</userinput>
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceable> $: foo &lt; @ example . com . &gt;
<prompt>&gt;</prompt> <userinput>^D</userinput></screen>
</sect1>
<sect1 id="outgoing-only">
<sect1info>
<authorgroup>
<author>
<firstname>Bill</firstname>
<surname>Moran</surname>
<contrib>Beigetragen von </contrib>
</author>
</authorgroup>
</sect1info>
<title>Ausgehende E-Mail über einen Relay versenden</title>
<para>In vielen Fällen wollen Sie E-Mail nur über
einen Relay verschicken. Zum Beispiel:</para>
<itemizedlist>
<listitem>
<para>Sie wollen von Ihrem Arbeitsplatz Programme wie
&man.send-pr.1; benutzen. Dazu soll der Relay
Ihres ISPs verwendet werden.</para>
</listitem>
<listitem>
<para>Ein Server, der E-Mails nicht selbst verarbeitet,
soll alle E-Mails zu einem Relay schicken.</para>
</listitem>
</itemizedlist>
<para>So ziemlich jeder <acronym>MTA</acronym> kann diese
Aufgaben erfüllen. Leider ist es oft schwierig, einen
vollwertigen <acronym>MTA</acronym> so zu konfigurieren,
dass er lediglich ausgehende E-Mails weiterleitet.
Es ist übertrieben, Programme wie
<application>sendmail</application> und
<application>postfix</application> nur für diesen
Zweck einzusetzen.</para>
<para>Weiterhin kann es sein, dass die Bestimmungen Ihres
Internetzugangs es verbieten, einen eigenen Mail-Server
zu betreiben.</para>
<para>Um die hier beschriebenen Anforderungen zu erfüllen,
installieren Sie einfach den Port
<filename role="package">mail/ssmtp</filename>. Führen
Sie dazu als <username>root</username> die nachstehenden
Befehle aus:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/mail/ssmtp</userinput>
&prompt.root; <userinput>make install replace clean</userinput></screen>
<para>Nach der Installation konfigurieren Sie
<filename role="package">mail/ssmtp</filename> mit den
folgenden vier Zeilen in
<filename>/usr/local/etc/ssmtp/ssmtp.conf</filename>:</para>
<programlisting>root=yourrealemail@example.com
mailhub=mail.example.com
rewriteDomain=example.com
hostname=_HOSTNAME_</programlisting>
<para>Stellen Sie sicher, dass Sie eine gültige E-Mail-Adresse
für <username>root</username> verwenden. Geben Sie
für <hostid role="fqdn">mail.example.com</hostid>
den Mail-Relay Ihres ISPs an (einige ISPs nennen den
Relay <quote>Postausgangsserver</quote> oder
<quote>SMTP-Server</quote>).</para>
<para>Deaktivieren Sie <application>sendmail</application>
indem Sie in <filename>/etc/rc.conf</filename>
<literal>sendmail_enable="NONE"</literal> angeben.</para>
<para><filename role="package">mail/ssmtp</filename> verfügt
über weitere Optionen. Die Musterkonfiguration in
<filename>/usr/local/etc/ssmtp</filename> oder die Hilfeseite
von <application>ssmtp</application> enthalten weitere
Beispiele.</para>
<para>Wenn Sie <application>ssmtp</application> wie hier
beschrieben eingerichtet haben, funktionieren Anwendungen,
die E-Mails von Ihrem Rechner verschicken. Sie verstoßen
damit auch nicht gegen Bestimmungen Ihres ISPs und laufen
nicht in Gefahr, dass Ihr Rechner zum Versenden von
Spams missbraucht wird.</para>
</sect1>
<sect1 id="SMTP-dialup">
<title>E-Mail über Einwahl-Verbindungen</title>
<para>Wenn Sie eine feste IP-Adresse haben, müssen Sie
die Standardeinstellungen wahrscheinlich gar nicht
ändern. Stellen Sie Ihren Hostnamen entsprechend
Ihrem zugeordneten Internetnamen ein und
<application>sendmail</application> übernimmt
das Übrige.</para>
<para>Wenn Sie eine dynamische IP-Adresse haben und eine
<application>PPP</application>-Wählverbindung zum
Internet benutzen, besitzen Sie wahrscheinlich eine
Mailbox auf dem Mailserver Ihres ISPs. Lassen
Sie uns annehmen, die Domäne ihres ISPs sei <hostid
role="domainname">example.net</hostid> und Ihr Benutzername
<username>user</username>; außerdem nehmen wir an,
dass Sie Ihre Maschine <hostid role="fqdn">bsd.home</hostid>
genannt haben und, dass Ihr ISP ihnen gesagt hat, dass Sie
<hostid role="fqdn">relay.example.net</hostid> als Mail-Relayhost
benutzen können.</para>
<para>Um Mails aus Ihrer Mailbox abzuholen, müssen Sie
ein gesondertes Programm installieren;
<application>fetchmail</application> ist eine gute Wahl,
weil es viele verschiedene Protokolle unterstützt.
Das Programm können Sie als Paket oder von der
Ports-Sammlung (<filename role="package">mail/fetchmail</filename>)
installieren. Für gewöhnlich wird von Ihrem
<acronym>ISP</acronym> <acronym>POP</acronym> zur
Verfügung gestellt. Falls Sie sich dafür
entschieden haben, User-<acronym>PPP</acronym> zu benutzen,
können Sie durch folgenden Eintrag in der Datei
<filename>/etc/ppp/ppp.linkup</filename> Ihre Mails
automatisch abholen lassen, wenn eine Verbindung zum Netz
aufgebaut wird:</para>
<programlisting>MYADDR:
!bg su user -c fetchmail</programlisting>
<para>Falls Sie (wie unten gezeigt)
<application>sendmail</application> benutzen, um Mails an
nicht-lokale Benutzer zu versenden, fügen Sie den
Befehl</para>
<programlisting>!bg su user -c "sendmail -q"</programlisting>
<para>nach dem oben gezeigten Eintrag ein. Das
veranlasst <application>sendmail</application>, Ihre
ausgehenden Mails zu verarbeiten, sobald eine Verbindung
zum Internet aufgebaut wird.</para>
<para>Nehmen wir an, dass auf <hostid role="fqdn">bsd.home</hostid>
ein Benutzer <username>user</username> existiert.
Erstellen Sie auf <hostid role="fqdn">bsd.home</hostid>
im Heimatverzeichnis von <username>user</username> die Datei
<filename>.fetchmailrc</filename>:</para>
<programlisting>poll example.net protocol pop3 fetchall pass MySecret;</programlisting>
<para>Diese Datei sollte für niemandem außer
<username>user</username> lesbar sein, weil sie das
Passwort <literal>MySecret</literal> enthält.</para>
<para>Um Mails mit dem richtigen <literal>from:</literal>-Header
zu versenden, müssen Sie <application>sendmail</application>
mitteilen, dass es <email>user@example.net</email> und nicht
<email>user@bsd.home</email> benutzen soll. Eventuell
möchten Sie auch, dass <application>sendmail</application>
alle Mails über <hostid role="fqdn">relay.example.net</hostid>
versendet, um eine schnellere Übertragung von Mails zu
gewährleisten.</para>
<para>Die folgende <filename>.mc</filename>-Datei sollte
ausreichen:</para>
<programlisting>VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnl</programlisting>
<para>Im vorherigen Abschnitt finden Sie Details dazu, wie
Sie aus dieser <filename>.mc</filename>-Datei eine Datei
<filename>sendmail.cf</filename> erstellen können.
Vergessen Sie auch nicht,
<application>sendmail</application> neu zu starten,
nachdem Sie <filename>sendmail.cf</filename>
verändert haben.</para>
</sect1>
<sect1 id="SMTP-Auth">
<sect1info>
<authorgroup>
<author>
<firstname>James</firstname>
<surname>Gorham</surname>
<contrib>Geschrieben von </contrib>
</author>
</authorgroup>
</sect1info>
<title>SMTP-Authentifizierung</title>
<para>Ein Mail-Server, der <acronym>SMTP</acronym>-Authentifizierung
verwendet, bietet einige Vorteile. Die erforderliche
Authentifizierung erhöht die Sicherheit von
<application>sendmail</application> und Benutzer, die auf wechselnden
entfernten Rechnern arbeiten, können denselben Mail-Server
verwenden ohne Ihr Benutzerprogramm jedes Mal neu zu
konfigurieren.</para>
<procedure>
<step>
<para>Installieren Sie den Port <filename
role="package">security/cyrus-sasl2</filename>. Der Port
verfügt über einige Optionen, die während
der Übersetzung festgelegt werden. Für die in
diesem Abschnitt beschriebene Methode zur
SMTP-Authentifizierung muss die Option
<option>LOGIN</option> aktiviert werden.</para>
</step>
<step>
<para>Editieren Sie nach der Installation von <filename
role="package">security/cyrus-sasl2</filename> die Datei
<filename>/usr/local/lib/sasl2/Sendmail.conf</filename> (erstellen
Sie die Datei, wenn sie nicht existiert) und fügen Sie die
folgende Zeile hinzu:</para>
<programlisting>pwcheck_method: saslauthd</programlisting>
</step>
<step>
<para>Danach installieren Sie den Port <filename
role="package">security/cyrus-sasl2-saslauthd</filename>,
und fügen die folgende Zeile in
<filename>/etc/rc.conf</filename> ein:</para>
<programlisting>saslauthd_enable="YES"</programlisting>
<para>Zuletzt müssen Sie noch den saslauthd-Daemon
starten:</para>
<screen>&prompt.root; <userinput>/usr/local/etc/rc.d/saslauthd start</userinput></screen>
<para>Dieser Daemon agiert als Broker zwischen
<application>sendmail</application> und Ihrer
FreeBSD-<filename>passwd</filename>-Datenbank. Dadurch
müssen zum Versenden von E-Mails keine zusätzlichen
Accounts und Passwörter angelegt werden. Die Benutzer
verwenden dasselbe Passwort zum Anmelden wie zum Verschicken von
E-Mails.</para>
</step>
<step>
<para>Fügen Sie jetzt in <filename>/etc/make.conf</filename>
die nachstehenden Zeilen hinzu:</para>
<programlisting>SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2</programlisting>
<para>Beim Übersetzen von <application>sendmail</application>
werden damit die <filename
role="package">cyrus-sasl2</filename>-Bibliotheken benutzt.
Stellen Sie daher vor dem Übersetzen von
<application>sendmail</application> sicher, dass der Port
<filename role="package">cyrus-sasl2</filename> installiert
ist.</para>
</step>
<step>
<para>Übersetzen Sie <application>sendmail</application> mit
den nachstehenden Kommandos:</para>
<screen>&prompt.root; <userinput>cd /usr/src/lib/libsmutil</userinput>
&prompt.root; <userinput>make cleandir && make obj && make</userinput>
&prompt.root; <userinput>cd /usr/src/lib/libsm</userinput>
&prompt.root; <userinput>make cleandir && make obj && make</userinput>
&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail</userinput>
&prompt.root; <userinput>make cleandir && make obj && make && make install</userinput></screen>
<para><application>sendmail</application> sollte sich ohne Probleme
übersetzen lassen, wenn die Dateien in
<filename>/usr/src</filename> nicht verändert wurden und die
benötigten Bibliotheken installiert sind.</para>
</step>
<step>
<para>Nachdem Sie <application>sendmail</application> installiert
haben, editieren Sie <filename>/etc/mail/freebsd.mc</filename>
beziehungsweise die verwendete <filename>.mc</filename>-Datei.
Viele Administratoren verwenden die Ausgabe von &man.hostname.1;,
um der <filename>.mc</filename>-Datei einen eindeutigen Namen
zu geben. Fügen Sie die folgenden Zeilen in die
<filename>.mc</filename>-Datei ein:</para>
<programlisting>dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl</programlisting>
<para>Diese Anweisungen konfigurieren die Methoden, die
<application>sendmail</application> zur Authentifizierung
verwendet. Lesen Sie die mitgelieferte Dokumentation, wenn
Sie eine andere Methode als <option>pwcheck</option> verwenden
wollen.</para>
</step>
<step>
<para>Abschließend rufen Sie &man.make.1; im Verzeichnis
<filename>/etc/mail</filename> auf. Damit wird aus der
<filename>.mc</filename>-Datei eine neue
<filename>.cf</filename>-Datei (zum Beispiel
<filename>freebsd.cf</filename>) erzeugt. Das Kommando
<command>make install restart</command> installiert die Datei
nach <filename>/etc/mail/sendmail.cf</filename> und startet
<application>sendmail</application> neu. Weitere Informationen
entnehmen Sie bitte
<filename>/etc/mail/Makefile</filename>.</para>
</step>
</procedure>
<para>Wenn alles funktioniert hat, tragen Sie in Ihrem
Mail-Benutzerprogramm das Passwort für die Authentifizierung ein
und versenden Sie zum Testen eine E-Mail. Wenn Sie Probleme haben,
setzen Sie den <option>LogLevel</option> von
<application>sendmail</application> auf <literal>13</literal> und
untersuchen die Fehlermeldungen in
<filename>/var/log/maillog</filename>.</para>
<para>Weitere Information erhalten Sie im WWW auf der
<ulink url="http://www.sendmail.org/~ca/email/auth.html">Webseite von
<application>sendmail</application></ulink>.</para>
</sect1>
<sect1 id="mail-agents">
<sect1info>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Silver</surname>
<contrib>Beigetragen von </contrib>
</author>
</authorgroup>
</sect1info>
<title>E-Mail-Programme</title>
<indexterm>
<primary>Mail-User-Agents</primary>
</indexterm>
<indexterm>
<primary>E-Mail-Programme</primary>
</indexterm>
<para>Anwendungen, die E-Mails versenden und empfangen, werden
als E-Mail-Programme oder Mail-User-Agents (<acronym>MUA</acronym>)
bezeichnet. Mit der Entwicklung und Ausbreitung von E-Mail
wachsen auch die E-Mail-Programme und bieten Benutzern
mehr Funktionen und höhere Flexibilität. Unter
&os; laufen zahlreiche E-Mail-Programme, die Sie alle
mit der <link linkend="ports">&os; Ports-Sammlung</link>
installieren können. Sie können wählen zwischen
Programmen mit grafischer Benutzeroberfläche,
wie <application>evolution</application> oder
<application>balsa</application>, konsolenorientierten
Programmen wie <application>mutt</application>,
<application>alpine</application> oder <command>mail</command>,
oder auch Programmen mit Web-Schnittstellen, die von einigen
großen Institutionen benutzt werden.</para>
<sect2 id="mail-command">
<title>mail</title>
<para>Das standardmäßig unter &os; installierte
E-Mail-Programm ist &man.mail.1;. Das Programm ist
konsolenorientiert und enthält alle Funktionen,
die zum Versand und Empfang textbasierter
E-Mails erforderlich sind. Allerdings lassen sich
Anhänge mit <command>mail</command> nur schwer
bearbeiten und kann <command>mail</command> kann nur auf
lokale Postfächer zugreifen.</para>
<para><command>mail</command> kann nicht direkt auf
<acronym>POP</acronym>- oder <acronym>IMAP</acronym>-Server
zugreifen. Entfernte Postfächer können aber
mit einer Anwendung wie <application>fetchmail</application>
in die lokale Datei <filename>mbox</filename> geladen
werden. <application>fetchmail</application> wird später
in diesem Kapitel besprochen (<xref linkend="mail-fetchmail"/>).</para>
<para>Um E-Mails zu versenden oder zu empfangen, starten
Sie einfach <command>mail</command> wie im nachstehenden
Beispiel:</para>
<screen>&prompt.user; <userinput>mail</userinput></screen>
<para>Das Werkzeug <command>mail</command> liest automatisch
den Inhalt des Benutzer-Postfachs im Verzeichnis
<filename class="directory">/var/mail</filename>. Sollte
das Postfach leer sein, beendet sich <command>mail</command>
mit der Nachricht, dass keine E-Mails vorhanden sind.
Wenn das Postfach gelesen wurde, wird die Benutzeroberfläche
gestartet und eine Liste der E-Mails angezeigt.
Die E-Mails werden automatisch nummeriert wie
im folgenden Beispiel gezeigt:</para>
<screen>Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"</screen>
<para>Einzelne Nachrichten können Sie jetzt mit dem
<command>mail</command>-Kommando <keycap>t</keycap>
gefolgt von der Nummer der Nachricht lesen. Im nachstehenden
Beispiel lesen wir die erste E-Mail:</para>
<screen>&amp; <userinput>t 1</userinput>
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
Das ist eine Test-Nachricht. Antworte bitte!</screen>
<para>Die Taste <keycap>t</keycap> zeigt die Nachricht zusammen
mit dem vollständigen Nachrichtenkopf an. Wenn Sie
die Liste der E-Mails erneut sehen wollen, drücken
Sie die Taste <keycap>h</keycap>.</para>
<para>Um auf eine E-Mail zu antworten, benutzen Sie
im Programm <command>mail</command> entweder die
Taste <keycap>R</keycap> oder die Taste <keycap>r</keycap>.
Mit der Taste <keycap>R</keycap> weisen Sie
<command>mail</command> an, dem Versender der
Nachricht zu antworten. Mit der Taste <keycap>r</keycap>
antworten Sie nicht nur dem Versender sondern auch
allen Empfängern der Nachricht. Sie können
zusammen mit diesen Kommandos eine Zahl angeben,
um die E-Mail, auf die Sie antworten wollen, auszusuchen.
Wenn Sie den Befehl abgesetzt haben, schreiben Sie
Ihre Antwort und beenden die Eingabe mit einem
einzelnen Punkt (<literal>.</literal>) auf einer
neuen Zeile. Den Vorgang zeigt das nachstehende Beispiel:</para>
<screen>&amp; <userinput>R 1</userinput>
To: root@localhost
Subject: Re: test
<userinput>Danke, ich habe deine E-Mail erhalten.
.</userinput>
EOT</screen>
<para>Neue E-Mails können Sie mit der Taste
<keycap>m</keycap> verschicken. Geben Sie dabei die
E-Mail-Adresse des Empfängers an. Sie können
auch mehrere durch Kommata (<literal>,</literal>) getrennte
Empfänger angeben. Geben Sie dann den Betreff
(<foreignphrase>subject</foreignphrase>) der Nachricht
gefolgt von der Nachricht selbst ein. Schließen
Sie die Nachricht mit einem einzelnen Punkt (<literal>.</literal>)
auf einer neuen Zeile ab.</para>
<screen>&amp; <userinput>mail root@localhost</userinput>
Subject: <userinput>Ich habe die E-Mails im Griff!
Jetzt kann ich E-Mails versenden und empfangen ... :)
.</userinput>
EOT</screen>
<para>Die Taste <keycap>?</keycap> zeigt zu jeder Zeit
einen Hilfetext an. Wenn Sie weitere Hilfe benötigen,
lesen Sie bitte die Hilfeseite &man.mail.1;.</para>
<note>
<para>Wie vorhin gesagt, wurde das Programm &man.mail.1;
nicht für den Umgang mit Anhängen entworfen
und kann daher sehr schlecht mit Anhängen umgehen.
Neuere <acronym>MUA</acronym>s wie
<application>mutt</application> gehen wesentlich besser
mit Anhängen um. Sollten Sie dennoch das
<command>mail</command>-Kommando benutzen wollen,
werden Sie den Port
<filename role="package">converters/mpack</filename>
sehr zu schätzen wissen.</para>
</note>
</sect2>
<sect2 id="mutt-command">
<title>mutt</title>
<para><application>mutt</application> ist ein schlankes aber
sehr leistungsfähiges E-Mail-Programm mit hervorrangenden
Funktionen, unter anderem:</para>
<itemizedlist>
<listitem>
<para><application>mutt</application> kann den Verlauf
einer Diskussion (<foreignphrase>threading</foreignphrase>)
darstellen.</para>
</listitem>
<listitem>
<para>Durch die Integration von PGP können
E-Mails signiert und verschlüsselt werden.</para>
</listitem>
<listitem>
<para>MIME wird unterstützt.</para>
</listitem>
<listitem>
<para>Postfächer können im Maildir-Format
gespeichert werden.</para>
</listitem>
<listitem>
<para><application>mutt</application> lässt sich
im höchsten Maße an lokale Bedürfnisse
anpassen.</para>
</listitem>
</itemizedlist>
<para>Wegen des Funktionsumfangs ist <application>mutt</application>
eins der ausgefeiltesten E-Mail-Programme. Mehr über
<application>mutt</application> erfahren Sie auf der Seite
<ulink url="http://www.mutt.org"></ulink>.</para>
<para>Der Port <filename role="package">mail/mutt</filename>
enthält die Produktionsversion von
<application>mutt</application>, die aktuelle
Entwicklerversion befindet sich im Port
<filename role="package">mail/mutt-devel</filename>.
Wenn <application>mutt</application> installiert ist,
wird das Programm mit dem nachstehenden Kommando gestartet:</para>
<screen>&prompt.user; <userinput>mutt</userinput></screen>
<para><application>mutt</application> liest automatisch den
Inhalt des Benutzer-Postfachs im Verzeichnis
<filename class="directory">/var/mail</filename>. Wenn
E-Mails vorhanden sind, werden diese dargestellt. Sind
keine E-Mails vorhanden, wartet <application>mutt</application>
auf Benutzereingaben. Das folgende Beispiel zeigt, wie
<application>mutt</application> eine Nachrichten-Liste
darstellt:</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/mutt1" format="PNG"/>
</imageobject>
</mediaobject>
<para>Wenn Sie eine Nachricht lesen wollen, wählen Sie
die Nachricht einfach mit den Pfeiltasten aus und drücken
<keycap>Enter</keycap>. <application>mutt</application>
zeigt E-Mails wie folgt an:</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/mutt2" format="PNG"/>
</imageobject>
</mediaobject>
<para>Wenn Sie auf eine E-Mail antworten, können Sie,
wie in &man.mail.1;, aussuchen, ob Sie nur dem Versender
oder auch allen Empfängern antworten wollen. Wenn
Sie nur dem Versender antworten wollen, drücken Sie
die Taste <keycap>r</keycap>. Wenn sie dem Versender und
allen Empfängern antworten wollen, drücken Sie
die Taste <keycap>g</keycap>.</para>
<note>
<para>Zum Erstellen oder zum Beantworten von E-Mails
ruft <application>mutt</application> den Editor
&man.vi.1; auf. Wenn Sie den von
<application>mutt</application> verwendeten Editor
ändern möchten, erstellen oder editieren
Sie in Ihrem Heimatverzeichnis die Datei
<filename>.muttrc</filename>. Den Editor können
Sie in <filename>.muttrc</filename> mit der Variablen
<literal>editor</literal> festlegen. Alternativ
können Sie auch die Umgebungsvariable
<envar>EDITOR</envar> setzen. Weitere Informationen
zur Konfiguration von <application>mutt</application>
finden Sie unter <ulink
url="http://www.mutt.org/"></ulink>.</para>
</note>
<para>Drücken Sie die Taste <keycap>m</keycap>, wenn
Sie eine neue Nachricht verfassen wollen. Nachdem
Sie einen Betreff (<foreignphrase>subject</foreignphrase>)
eingegeben haben, startet <application>mutt</application>
den Editor &man.vi.1; und Sie können die Nachricht
eingeben. Wenn Sie fertig sind, speichern Sie die
Nachricht und verlassen den Editor.
<application>mutt</application> wird dann wieder aktiv
und zeigt eine Zusammenfassung der zu sendenden Nachricht
an. Drücken Sie <keycap>y</keycap>, um die E-Mail
zu versenden. Der nachstehende Bildschirmabzug zeigt die
Zusammenfassung der E-Mail:</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/mutt3" format="PNG"/>
</imageobject>
</mediaobject>
<para><application>mutt</application> verfügt über
eine umfangreiche Hilfestellung. Aus fast jedem Menü
können Sie Hilfeseiten mit der Taste <keycap>?</keycap>
aufrufen. In der oberen Statuszeile werden zudem die
verfügbaren Tastenkombinationen angezeigt.</para>
</sect2>
<sect2 id="alpine-command">
<title>alpine</title>
<para><application>alpine</application> wendet sich an
Anfänger bietet aber ebenfalls einige Funktionen
für Profis.</para>
<warning>
<para>In der Vergangenheit wurden in
<application>alpine</application> mehrere Schwachstellen
gefunden. Die Schwachstellen gestatteten entfernten
Benutzern, durch das Versenden einer besonders verfassten
E-Mail, Programme auf dem lokalen System laufen
zu lassen. Alle <emphasis>bekannten</emphasis>
Schwachstellen sind beseitigt worden, doch wird im
Quellcode von <application>alpine</application> ein
sehr riskanter Programmierstil verwendet, sodass der
&os;-Security-Officer von weiteren unbekannten
Schwachstellen ausgeht. Sie installieren
<application>alpine</application> auf eigene Verantwortung!</para>
</warning>
<para>Der Port <filename role="package">mail/alpine</filename>
enthält die aktuelle Version von
<application>alpine</application>. Nach der Installation
können Sie <application>alpine</application> mit dem
nachstehenden Kommando starten:</para>
<screen>&prompt.user; <userinput>alpine</userinput></screen>
<para>Wenn Sie <application>alpine</application> das erste Mal
starten, zeigt das Programm eine Seite mit einer kurzen
Einführung an. Um die
<application>alpine</application>-Benutzer zu zählen,
bitten die Entwickler auf dieser Seite um eine anonyme E-Mail.
Sie können diese anonyme E-Mail senden, indem Sie
<keycap>Enter</keycap> drücken oder den
Begrüßungsbildschirm mit der Taste
<keycap>E</keycap> verlassen, ohne die anonyme E-Mail
zu senden. Der Begrüßungsbildschirm
sieht wie folgt aus:</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/pine1" format="PNG"/>
</imageobject>
</mediaobject>
<para>Nach dem Begrüßungsbildschirm wird das
Hauptmenü dargestellt, das sich leicht mit den
Pfeiltasten bedienen lässt. Mit Tastenkombinationen
können Sie aus dem Hauptmenü neue E-Mails
erstellen, Postfächer anzeigen und auch das
Adressbuch verwalten. Unterhalb des Menüs werden
die Tastenkombinationen für die verfügbaren
Aktionen angezeigt.</para>
<para>In der Voreinstellung öffnet
<application>pine</application> das Verzeichnis
<filename class="directory">inbox</filename>.
Die Taste <keycap>I</keycap> oder der Menüpunkt
<guimenuitem>MESSAGE INDEX</guimenuitem> führt
zu einer Nachrichten-Liste:</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/pine2" format="PNG"/>
</imageobject>
</mediaobject>
<para>Die Liste zeigt die Nachrichten im Arbeitsverzeichnis.
Sie können Nachrichten mit den Pfeiltasten markieren.
Wenn Sie eine Nachricht lesen wollen, drücken Sie
<keycap>Enter</keycap>.</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/pine3" format="PNG"/>
</imageobject>
</mediaobject>
<para>Im nächsten Bildschirmabzug sehen Sie, wie
<application>pine</application> eine Nachricht darstellt.
Die unteren Bildschirmzeilen zeigen die verfügbaren
Tastenkombinationen. Mit der Taste <keycap>r</keycap>
können Sie zum Beispiel auf die gerade angezeigte
Nachricht antworten.</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/pine4" format="PNG"/>
</imageobject>
</mediaobject>
<para>Zum Antworten auf eine E-Mail wird in
<application>pine</application> der Editor
<application>pico</application>, der mit installiert wird,
benutzt. <application>pico</application> ist leicht
zu bedienen und gerade für Anfänger besser
geeignet als &man.vi.1; oder &man.mail.1;. Die Antwort
wird mit der Tastenkombination
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>X</keycap>
</keycombo>
versendet. Vor dem Versand bittet <application>pine</application>
noch um eine Bestätigung.</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/pine5" format="PNG"/>
</imageobject>
</mediaobject>
<para>Über den Menüpunkt <guimenuitem>SETUP</guimenuitem>
des Hauptmenüs können Sie <application>pine</application>
an Ihre Bedürfnisse anpassen. Erläuterungen
dazu finden Sie auf der Seite
<ulink url="http://www.washington.edu/pine/"></ulink>.</para>
</sect2>
</sect1>
<sect1 id="mail-fetchmail">
<sect1info>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Silver</surname>
<contrib>Beigetragen von </contrib>
</author>
</authorgroup>
</sect1info>
<title>E-Mails mit fetchmail abholen</title>
<indexterm>
<primary>fetchmail</primary>
</indexterm>
<para><application>fetchmail</application> ist ein vollwertiger
<acronym>IMAP</acronym>- und <acronym>POP</acronym>-Client.
Mit <application>fetchmail</application> können Benutzer
E-Mails von entfernten <acronym>IMAP</acronym>- und
<acronym>POP</acronym>-Servern in leichter zugängliche
lokale Postfächer laden. <application>fetchmail</application>
wird aus dem Port <filename role="package">mail/fetchmail</filename>
installiert. Das Programm bietet unter anderem folgende
Funktionen:</para>
<itemizedlist>
<listitem>
<para><application>fetchmail</application> beherrscht die
Protokolle <acronym>POP3</acronym>,
<acronym>APOP</acronym>, <acronym>KPOP</acronym>,
<acronym>IMAP</acronym>, <acronym>ETRN</acronym> und
<acronym>ODMR</acronym>.</para>
</listitem>
<listitem>
<para>E-Mails können mit <acronym>SMTP</acronym>
weiterverarbeitet werden. Dadurch ist garantiert, dass
Filter, Weiterleitungen und Aliase weiterhin
funktionieren.</para>
</listitem>
<listitem>
<para>Das Programm kann als Dienst laufen und periodisch
neue Nachrichten abrufen.</para>
</listitem>
<listitem>
<para><application>fetchmail</application> kann mehrere
Postfächer abfragen und je nach Konfiguration
die E-Mails an verschiedene lokale Benutzer
zustellen.</para>
</listitem>
</itemizedlist>
<para>Wegen des Funktionsumfangs von
<application>fetchmail</application> können hier
nur grundlegende Funktionen beschrieben werden.
<application>fetchmail</application> benötigt die
Konfigurationsdatei <filename>.fetchmailrc</filename>.
In dieser Datei werden Informationen über Server
wie auch Benutzerdaten und Passwörter hinterlegt.
Wegen des kritischen Inhalts von <filename>.fetchmailrc</filename>
sollte die Datei nur lesbar für den Benutzer sein:</para>
<screen>&prompt.user; <userinput>chmod 600 .fetchmailrc</userinput></screen>
<para>Die folgende <filename>.fetchmailrc</filename> zeigt,
wie das Postfach eines einzelnen Benutzers mit
<acronym>POP</acronym> heruntergeladen wird.
<application>fetchmail</application> wird angewiesen,
eine Verbindung zu <hostid role="fqdn">example.com</hostid>
herzustellen und sich dort als Benutzer <username>joesoap</username>
mit dem Passwort <literal>XXX</literal> anzumelden. Das Beispiel
setzt voraus, dass es der Benutzer <username>joesoap</username>
auch auf dem lokalen System existiert.</para>
<programlisting>poll example.com protocol pop3 username "joesoap" password "XXX"</programlisting>
<para>Im folgenden Beispiel werden mehrere <acronym>POP</acronym>-
und <acronym>IMAP</acronym>-Server benutzt. Wo notwendig,
werden E-Mails auf andere lokale Konten umgeleitet:</para>
<programlisting>poll example.com proto pop3:
user "joesoap", with password "XXX", is "jsoap" here;
user "andrea", with password "XXXX";
poll example2.net proto imap:
user "john", with password "XXXXX", is "myth" here;</programlisting>
<para>Sie können <application>fetchmail</application>
als Dienst starten. Verwenden Sie dazu die Kommandozeilenoption
<option>-d</option> gefolgt von einer Zeitspanne in Sekunden,
die angibt, wie oft die Server aus der Datei
<filename>.fetchmailrc</filename> abgefragt werden sollen.
Mit dem nachstehenden Befehl fragt
<application>fetchmail</application> die Server alle
600&nbsp;Sekunden ab:</para>
<screen>&prompt.user; <userinput>fetchmail -d 600</userinput></screen>
<para>Mehr über <application>fetchmail</application>
erfahren Sie auf der Seite
<ulink url="http://fetchmail.berlios.de/"></ulink>.</para>
</sect1>
<sect1 id="mail-procmail">
<sect1info>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Silver</surname>
<contrib>Beigetragen von </contrib>
</author>
</authorgroup>
</sect1info>
<title>E-Mails mit procmail filtern</title>
<indexterm>
<primary>procmail</primary>
</indexterm>
<para>Mit <application>procmail</application> lässt sich
eingehende E-Mail sehr gut filtern. Benutzer können
Regeln für eingehende E-Mails definieren, die
E-Mails zu anderen Postfächern oder anderen E-Mail-Adressen
umleiten. <application>procmail</application> befindet
sich im Port <filename role="package">mail/procmail</filename>.
<application>procmail</application> kann leicht in die
meisten <acronym>MTA</acronym>s integriert werden. Lesen
Sie dazu bitte die Dokumentation des verwendeten
<acronym>MTA</acronym>s. Alternativ kann
<application>procmail</application> in das E-Mail-System
eingebunden werden, indem die nachstehende Zeile in
die Datei <filename>.forward</filename> im Heimatverzeichnis
eines Benutzers eingefügt wird:</para>
<programlisting>"|exec /usr/local/bin/procmail || exit 75"</programlisting>
<para>Im Folgenden zeigen wir einige einfache
<application>procmail</application>-Regeln und beschreiben
kurz den Zweck der Zweck der Regeln. Die Regeln müssen
in die Datei <filename>.procmailrc</filename> im Heimatverzeichnis
des Benutzers eingefügt werden.</para>
<para>Den Großteil dieser Regeln finden Sie auch
in der Hilfeseite &man.procmailex.5;.</para>
<para>Alle E-Mail von <email>user@example.com</email>
an die externe Adresse <email>goodmail@example2.com</email>
weiterleiten:</para>
<programlisting>:0
* ^From.*user@example.com
! goodmail@example2.com</programlisting>
<para>Alle Nachrichten, die kürzer als 1000&nbsp;Bytes
sind, an <email>goodmail@example2.com</email> weiterleiten:</para>
<programlisting>:0
* &lt; 1000
! goodmail@example2.com</programlisting>
<para>Jede E-Mail, die an <email>alternate@example.com</email>
geschickt wurde, im Postfach <filename>alternate</filename>
speichern:</para>
<programlisting>:0
* ^TOalternate@example.com
alternate</programlisting>
<para>Jede E-Mail, die im Betreff <literal>Spam</literal>
enthält, nach <filename>/dev/null</filename>
schieben:</para>
<programlisting>:0
^Subject:.*Spam
/dev/null</programlisting>
<para>Zuletzt ein nützliches Rezept, das eingehende E-Mails
von den <hostid role="domainname">&os;.org</hostid>-Mailinglisten
in ein separates Postfach für jede Liste einsortiert:</para>
<programlisting>:0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}</programlisting>
</sect1>
</chapter>