sendmail(1M) sendmail(1M)
NAME
sendmail - Mail über Internet senden
SYNTAX
sendmail [options] address ...
BESCHREIBUNG
sendmail sendet eine Nachricht an einen oder mehrere Empfänger, wobei
die Nachricht über die erforderlichen Netzwerke weitergeleitet wird.
sendmail leitet die Nachricht netzwerkübergreifend an die korrekte
Position weiter.
sendmail ist nicht als Benutzerschnittstellen-Routine konzipiert.
Andere Programme stellen benutzerfreundlichere oberste Kommandos zur
Verfügung. sendmail wird nur zum Zustellen vorformatierter Nachrichten
verwendet.
Wenn keine Optionen angegeben werden, liest sendmail von seiner Stan-
dardeingabe, bis ein EOF-Zeichen oder eine Zeile mit einem einzelnen
Punkt auftritt und sendet dann eine Kopie der gefundenen Nachricht an
alle aufgelisteten Adressen. Aufgrund der Syntax und dem Inhalt der
Adressen stellt es das bzw. die zu verwendende(n) Netzwerk(e) fest.
Lokale Adressen werden in einer Datei gesucht. Für diese Adressen wer-
den dann die entsprechenden Aliasse erstellt. Die Erstellung von Ali-
assen kann verhindert werden, indem der Adresse ein Backslash vorange-
stellt wird. Normalerweise wird der Sender in Aliaserweiterungen nicht
berücksichtigt. Wenn "jens" beispielsweise einen Brief an "gruppe"
sendet und "gruppe" in der Erweiterung "jens" enthält, wird der Brief
nicht an "jens" zugestellt.
OPTIONEN
-B type
Setzt den Texttyp auf type. Derzeit sind die Werte 7BIT oder
8BITMIME gültig.
-ba Aktiviert den Modus ARPANET. Alle Eingabezeilen müssen mit einem
CR-LF enden, und alle Nachrichten werden mit einem CR-LF am Ende
erstellt. Die Felder "From:" und "Sender:" werden auf den Namen
des Senders geprüft.
-bd Führt sendmail als Dämon aus. Dazu wird Berkeley IPC benötigt.
sendmail wird verzweigt und im Hintergrund ausgeführt, wobei es
auf eingehende SMTP-Verbindungen auf Socket 25 wartet. Dies wird
normalerweise aus der Datei /etc/rc/rc2.d ausgeführt.
-bD Entspricht -bd mit der Ausnahme, daß sendmail im Vordergrund aus-
geführt wird.
-bh Gibt die Datenbank für permanenten Host-Status aus.
-bH Löscht die Datenbank für permanenten Host-Status.
Seite 1 Reliant UNIX 5.44 Gedruckt 4/99
sendmail(1M) sendmail(1M)
-bi Initialisiert die Aliasdatenbank.
-bm Stellt Mail auf die normale Art und Weise zu (Standard).
-bp Gibt eine Liste der Mail-Warteschlange aus.
-bs Verwendet das SMTP-Protokoll wie in RFC0821 beschrieben. Diese
Option impliziert alle Operationen der Option -ba, die mit SMTP
kompatibel sind.
-bt Führt den Testmodus für Adressen aus. Dieser Modus liest die
Adressen und zeigt die Schritte bei der Analyse an. Diese Option
wird zum Testen von Konfigurationstabellen verwendet.
-bv Prüft nur Namen. Unternimmt keinen Versuch, Nachrichten zu emp-
fangen oder zuzustellen. Dieser Prüfmodus wird normalerweise zum
Überprüfen von Benutzern oder Mail-Listen verwendet.
-Cfile
Verwendet eine andere Konfigurationsdatei. sendmail kann nicht
als root ausgeführt werden, wenn eine andere Konfigurationsdatei
angegeben ist.
-dX Setzt den Testwert auf X.
-F fullname
Setzt den vollständigen Namen des Senders.
-f name
Setzt den Namen des Senders von Mail ("from").
-h N Setzt die Anzahl der Zwischenschritte auf N. Die Anzahl der Zwi-
schenschritte wird bei jeder Verarbeitung der Mail erhöht.
Erreicht sie eine Grenze, wird die Mail als Folge einer Alias-
schleife mit einer Fehlermeldung zurückgegeben. Wird kein Wert
für die Anzahl der Zwischenschritte angegeben, werden die empfan-
genen Zeilen ("Received:") in der Nachricht gezählt.
-i Ignoriert allein in einer Zeile stehende Punkte in eingehenden
Nachrichten. Diese Option sollte gesetzt werden, wenn Daten aus
einer Datei gelesen werden.
-N dsn
Setzt die Bedingungen für die Meldung des Zustellungsstatus auf
dsn. Mögliche Angaben sind never für keine Meldungen oder eine
durch Kommas abgetrennte Liste der zu meldenden Werte für
failure, wenn die Zustellung fehlgeschlagen ist, für delay, wenn
die Zustellung verzögert wird und für success, wenn die Nachricht
erfolgreich zugestellt wurde.
-n Erstellt keine Aliasse.
Seite 2 Reliant UNIX 5.44 Gedruckt 4/99
sendmail(1M) sendmail(1M)
-O option=value
Setzt die Option option auf den angebenen Wert value. Diese Form
verwendet lange Namen. Nähere Informationen sind weiter unten
beschrieben.
-oxvalue
Setzt die Option x auf den angegebenen Wert value. Diese Form
verwendet Namen, die nur aus einem Zeichen bestehen. Die Kurzna-
men werden auf dieser Handbuchseite (Man Page) nicht beschrieben.
Nähere Informationen finden Sie im "Sendmail Installation and
Operation Guide" (= /opt/sendmaildoc/op.ps).
-pprotocol
Legt den Namen des für den Empfang der Nachricht verwendeten Pro-
tokolls fest. Hierbei kann es sich um einen einfachen Protokoll-
namen wie "UUCP" oder um einen Protokoll- und Hostnamen wie
"UUCP:ucbvax" handeln.
-q[time]
Verarbeitet gespeicherte Nachrichten in der Warteschlange in den
angegebenen Intervallen. Wenn time übergangen wird, wird die War-
teschlange nur einmal verarbeitet. time wird als eine Zahl ange-
geben. Hierbei steht s für Sekunden, m für Minuten, h für Stun-
den, d für Tage und w für Wochen. Zum Beispiel würden sowohl
-q1h30m als auch -q90m das Zeitlimit auf eine Stunde und dreißig
Minuten setzen.
Bei der Angabe von time wird sendmail im Hintergrund ausgeführt.
Diese Option kann ohne Probleme mit -bd verwendet werden.
-qIsubstr
Beschränkt die verarbeiteten Jobs auf solche, bei denen substr
Bestandteil der Warteschlangen-ID ist.
-qRsubstr
Beschränkt die verarbeiteten Jobs auf solche, bei denen substr
Bestandteil einer der Empfängerangaben ist.
-qSsubstr
Beschränkt die verarbeiteten Jobs auf solche, bei denen substr
Bestandteil der Absenderangabe ist.
-R return
Veranlaßt, daß ein bestimmter Umfang der Nachricht zurückge-
schickt wird, wenn die Nachricht nicht gesendet werden kann. Der
Parameter return kann entweder full sein, um die ganze Nachricht
zuzuschicken, oder hdrs, um nur den Nachrichtenkopf zurückzu-
schicken.
-rname
Eine alternative und überflüssige Form der Option -f.
Seite 3 Reliant UNIX 5.44 Gedruckt 4/99
sendmail(1M) sendmail(1M)
-t Liest Nachrichten für Empfänger. Die Zeilen "To:" (An), "Cc:"
(Kopie) und "Bcc:" (Blindkopie) werden nach Benutzern durchsucht,
an die Mail gesendet werden soll. Die Zeile "Bcc:" wird vor der
Zustellung gelöscht. Alle Adressen in der Argumentliste werden
unterdrückt, d. h., an diese Benutzer werden keine Kopien gesen-
det, auch wenn sie im Nachrichtenkopf aufgeführt sind.
-U Erstübergabe. Diese Option sollte immer gesetzt werden, wenn der
Aufruf über einen Benutzeragenten wie beispielsweise Mail oder
exmh erfolgt. Sie sollte niemals gesetzt werden, wenn der Aufruf
über einen Netzwerkzustellungsagenten wie rmail erfolgt.
-V envid
Setzt die originale "Envelope-ID". Diese wird über SMTP an Server
weitergegeben, die DSN (Delivery Status Notification) unterstüt-
zen, und in DSN-spezifischen Fehlermeldungen ausgegeben.
-v Aktiviert den Protokollmodus. Aliaserweiterungen werden angegeben
usw.
-Xlogfile
Protokolliert die gesamte ein- und abgehende Mail in der angege-
benen Protokolldatei. Dies sollte jedoch nur als letzte Möglich-
keit bei der Suche nach Fehlern im Mailer (Mail-Zustellungspro-
gramm) verwendet werden, da in ihr in kurzer Zeit umfangreiche
Datenmengen protokolliert werden.
Verarbeitungsoptionen
Es gibt eine Reihe von Verarbeitungsoptionen, die gesetzt werden kön-
nen. Normalerweise werden diese Optionen jedoch nur von einem System-
administrator verwendet. Optionen können entweder in der Kommandozeile
mit der Option -o (für Kurznamen) und der Option -O (für lange Namen)
oder aber in der Konfigurationsdatei gesetzt werden. Die folgende
Liste ist nicht vollständig und beschränkt sich nur auf die Optionen,
die in der Kommandozeile nützlich sein können. Hierbei werden nur die
langen Namen aufgeführt; eine vollständige Liste mit näheren Angaben
finden Sie im "Sendmail Installation and Operation Guide" (=
/opt/sendmaildoc/op.ps).
Die Optionen sind:
AliasFile=file
Verwendet eine andere Aliasdatei.
HoldExpensive
Initialisiert die Verbindung bei Mail-Zustellungsprogrammen, bei
denen die Verbindungsherstellung "teuer" ist, nicht sofort, son-
dern stellt die Mail in die Warteschlange.
Seite 4 Reliant UNIX 5.44 Gedruckt 4/99
sendmail(1M) sendmail(1M)
CheckpointInterval=N
Prüft die Warteschlangendatei nach jeweils N erfolgreichen
Zustellungen (Voreinstellung: 10). Wird das Senden von Mail an
lange Verteilerlisten durch einen Systemabsturz unterbrochen,
können so doppelte Zustellungen vermieden werden.
DeliveryMode=x
Setzt den Zustellungsmodus auf x. Die Zustellungsmodi sind:
i Interaktive (synchrone) Zustellung
b Hintergrundzustellung (asynchron)
q Warteschlangenbetrieb (die Zustellung erfolgt erst beim
nächsten Abarbeiten der Warteschlange)
d Verzögerte Zustellung - Diese Option entspricht
q mit der Ausnahme, daß Datenbankabfragen (vornehmlich DNS-
und NIS-Abfragen) vermieden werden.
ErrorMode=x
Setzt die Fehlerverarbeitung auf den Modus x. Folgende Modi sind
gültig:
m Zurücksenden der Fehlermeldung
w "Zurückschreiben" der Fehlermeldung (bzw. Zurücksenden, wenn
der Sender nicht angemeldet ist),
p Ausgeben der Fehler auf dem Terminal (Voreinstellung)
q Löschen von Fehlermeldungen (nur der Endestatus wird zurück-
gegeben)
e Spezielle Verarbeitung für das BerkNet
Wird der Nachrichtentext nicht durch Angabe der Modi m oder w
zurückgesendet und befindet sich der Sender lokal in diesem
System, wird eine Kopie der Nachricht an die Datei dead.letter im
HOME-Verzeichnis des Senders angefügt.
SaveFromLine
Speichert "From"-Zeilen im UNIX Stil am Anfang von Nachrichten.
MaxHopCount=N
Die Höchstzahl der zulässigen Zwischenschritte einer Nachricht.
Wird diese Zahl überschritten, wird davon ausgegangen, daß sich
die Nachricht in einer Schleife befindet.
Seite 5 Reliant UNIX 5.44 Gedruckt 4/99
sendmail(1M) sendmail(1M)
IgnoreDots
Sieht allein in einer Zeile stehende Punkte nicht als Nachrichte-
nende an.
SendMimeErrors
Sendet Fehlermeldungen im MIME-Format. Wenn diese Option nicht
gesetzt ist, wird die SMTP-Erweiterung DSN (Delivery Status Noti-
fication) deaktiviert.
ConnectionCacheTimeout=timeout
Setzt die Zeitüberschreitung für den Verbindungs-Cache.
ConnectionCacheSize=N
Setzt die Größe des Verbindungs-Cache.
LogLevel=n
Die Protokollebene.
MeToo
Sendet auch an den Sender ("me"), sofern dieser in einer Aliaser-
weiterung enthalten ist.
CheckAliases
Prüft während eines Kommandos newaliases(1M) die rechte Seite der
Aliasse.
OldStyleHeaders
Wenn diese Option gesetzt wird, darf die Nachricht einen veralte-
ten Nachrichtenkopf enthalten. Wenn sie nicht gesetzt wird, hat
diese Nachricht in jedem Fall einen neuen Nachrichtenkopf (d. h.
Kommas anstelle von Leerzeichen zwischen Adressen). Wenn die
Option gesetzt wird, wird ein adaptiver Algorithmus verwendet,
der das Nachrichtenkopfformat in den meisten Fällen korrekt
ermittelt.
QueueDirectory=queuedir
Wählt das Verzeichnis für die Nachrichtenwarteschlange aus.
StatusFile=file
Speichert Statistiken in der angegebenen Datei.
Timeout.queuereturn=time
Setzt die Zeitüberschreitung für nicht zugestellte Nachrichten in
der Warteschlange auf die angegebene Zeit. Schlägt die Zustellung
innerhalb dieser Zeit fehl (beispielsweise, weil ein Host herun-
tergefahren wurde), werden die nicht zugestellten Nachrichten an
den Sender zurückgesendet. Die Voreinstellung ist fünf Tage.
Seite 6 Reliant UNIX 5.44 Gedruckt 4/99
sendmail(1M) sendmail(1M)
UserDatabaseSpec=userdatabase
Wenn diese Option gesetzt wird, werden Informationen zur Weiter-
leitung in einer Benutzerdatenbank abgefragt. Dies kann als
Zusatz zum Aliasmechanismus betrachtet werden, nur daß hier die
Datenbank zur Verteilung vorgesehen ist. Aliasse gelten lokal für
einen bestimmten Host. Diese Funktion ist möglicherweise nicht
verfügbar, wenn Ihr sendmail-Programm die Option -USERDB nicht
enthält.
ForkEachJob
Verzweigt jeden Job während der Abarbeitung der Warteschlange.
Diese Option kann vor allem auf Systemen mit wenig freiem Spei-
cher nützlich sein.
SevenBitInput
Kürzt eingehende Nachrichten auf 7 Bits.
EightBitMode=mode
Setzt die Bearbeitung von 8-Bit-Eingabe in 7-Bit-Zieladressen auf
den Modus mode. Für mode sind folgende Angaben zulässig:
m (mimefy) Konvertiert die Eingabe in das 7-Bit-MIME-Fomat.
p (pass) Gibt die Eingabe als acht Bits weiter (verletzt dabei
jedoch Protokolle).
s (strict) Weist die Nachricht zurück.
MinQueueAge=timeout
Setzt die Zeit, die ein Job in der Warteschlange verbleiben muß,
bevor ein erneuter Sendeversuch gestartet wird.
DefaultCharSet=charset
Setzt den Standardzeichensatz zur Kennzeichnung von 8-Bit-Daten,
die nicht auf andere Weise gekennzeichnet sind.
DialDelay=sleeptime
Wenn die Herstellung einer Verbindung fehlschlägt, wird sleeptime
Sekunden gewartet und der Vorgang wiederholt. Dies bietet sich
vor allem bei Anwahl auf Anforderung (Dial On Demand) an.
NoRecipientAction=action
Setzt das Verhalten, wenn kein Empfänger im Kopf ("To:" (An),
"Cc:" (Kopie) oder "Bcc:" (Blindkopie)) der Nachricht angegeben
sind, auf action. Für action sind folgende Angaben zulässig:
none Läßt die Nachricht unverändert.
add-to
Fügt eine "To:"-Zeile mit den Empfängern hinzu.
Seite 7 Reliant UNIX 5.44 Gedruckt 4/99
sendmail(1M) sendmail(1M)
add-apparently-to
Fügt eine "Apparently-To:"-Zeile (Offensichtlich an:) mit
den Empfängern hinzu.
add-bcc
Fügt eine leere "Bcc:"-Zeile hinzu.
add-to-undisclosed
Fügt die Zeile "To: undisclosed-recipients:;" (An: unbe-
kannte Empfänger) hinzu.
MaxDaemonChildren=N
Setzt die von einem eingehenden SMTP-Dämon zugelassene maximale
Anzahl der Sohnprozesse, die gleichzeitig erzeugt werden können,
auf N.
ConnectionRateThrottle=N
Setzt die maximal zulässige Anzahl der Verbindungen/Sekunde für
den SMTP-Anschluß auf N.
In Aliassen kann das erste Zeichen des Benutzernamens ein vertikaler
Strich sein. Hierdurch wird der übrige Teil des Benutzernamens als der
Name eines Programms verwendet, in das die Mail über eine Pipe umge-
leitet wird. Möglicherweise muß der Name des Benutzers in Anführungs-
zeichen gesetzt werden, damit sendmail die Leerzeichen zwischen den
Argumenten nicht unterdrückt werden. Beispiel für einen Alias:
msgs: "|/usr/bin/msgs -s"
Aliasse können sendmail mit der Syntax :include:filename auffordern,
die angegebene Datei für eine Empfängerliste zu lesen. Der folgende
Alias beispielsweise würde die Liste der Adressen der Gruppe aus
/usr/local/lib/poets.list lesen:
poets: ":include:/usr/local/lib/poets.list"
DIAGNOSE
sendmail gibt einen Endestatus zurück, der die durchgeführten Aktionen
angibt. Die Codes sind in <sysexits.h> definiert:
00 (EXOK) Erfolgreiche Beendigung für alle Adressen.
67 (EXNOUSER) Benutzernamen nicht erkannt.
69 (EXUNAVAILABLE) Erforderliche Ressourcen nicht verfügbar.
70 (EXSOFTWARE) Interner Softwarefehler einschließlich ungültiger
Argumente.
71 (EXOSERR) Temporärer Betriebssystemfehler wie "cannot fork"
(keine Verzweigungen möglich).
Seite 8 Reliant UNIX 5.44 Gedruckt 4/99
sendmail(1M) sendmail(1M)
68 (EXNOHOST) Hostname nicht erkannt.
75 (EXTEMPFAIL) Nachricht konnte nicht sofort gesendet werden,
wurde jedoch in die Warteschlange gestellt.
Beim Aufruf als newaliases baut sendmail die Aliasdatenbank neu auf.
Beim Aufruf als mailq gibt sendmail den Inhalt der Mail-Warteschlange
aus.
DATEIEN
Mit Ausnahme von /etc/sendmail.cf selbst werden die folgenden Pfadna-
men alle in /etc/sendmail.cf angegeben. Daher sind die genannten Werte
nur Annäherungen.
/etc/aliases
Zeichenorientierte Daten für Aliasnamen
/etc/aliases.db
Datenbank der Aliasnamen
/etc/sendmail.cf
Konfigurationsdatei
/usr/lib/sendmail.hf
Hilfedatei
/etc/sendmail.st
Gesammelte Statistiken
/var/spool/mqueue/*
Temporäre Dateien
/etc/sendmail.pid
Die Prozeß-ID des Dämons
/opt/sendmaildoc/op.ps
Sendmail Installation and Operation Guide; PostScript-Format
/opt/sendmaildoc/intro.ps
Sendmail - An Internetwork Mail Router; PostScript-Format
SIEHE AUCH
mail(1-ucb), rmail(1-ucb), mail.local(1M), mailq(1M), newaliases(1M),
syslog(3C), aliases(4).
Seite 9 Reliant UNIX 5.44 Gedruckt 4/99