Beim Ausführen von sendmail wird eine Fehlermeldung angezeigt. Ich bin auf OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
mountain-lion
Jason Waldrip
quelle
quelle
Um alle Warnungen loszuwerden, musste ich Folgendes tun:
quelle
chown: /usr/share/man/man1/postalias.1.gz: No such file or directory
Die Lösung scheint auch einen Fehler in 10.8 zu beheben, bei dem der Faxdienst das Senden von E-Mails nach dem Upgrade auf 10.8 eingestellt hat.
quelle
TLDR : Ändern Sie die
queue_directory
Variable in/etc/postfix/main.cf
in/var/spool/postfix
.Vollständige Antwort:
Der
mkdir -p
Ansatz funktioniert wahrscheinlich, aber ich vermute, es gibt eine einfachere Lösung. Faire Warnung, ich bin neu in Postfix, und dies kann alles falsch sein.Es scheint, dass verschiedene Editionen von Mac OS X eines von zwei Stammverzeichnissen für E-Mails verwenden:
/var/spool/postfix
/Library/Server/Mail
Diese beiden scheinen im Laufe der Zeit durcheinander gekommen zu sein. (Hinweis
/var
ist eigentlich ein Symlink zu/private/var
, daher werden diese häufig synonym verwendet.)Was ich sagen kann,
/Library/Server/Mail
ist ein Verzeichnis, das Mac OS X Server für seine Mail-Dienste verwendet, die von Postfix abhängen, aber nicht mit Postfix identisch sind./var/spool/postfix
Andererseits ist es das bevorzugte Verzeichnis (S. 14) für die internen Operationen von Postfix.Es gibt zwei Hauptkonfigurationsdateien, die auf diese Verzeichnisse verweisen:
/etc/postfix/main.cf
/System/Library/LaunchDaemons/org.postfix.master.plist
Ich vermute, es wird der Fehler "Keine solchen Dateien oder Verzeichnisse" angezeigt, da die
queue_directory
Variable in Postfix aufmain.cf
verweist/Library/Server/Mail/Data/spool
, die nicht vorhanden ist. Unter normalen Mac OS X-Betriebssystemen (im Gegensatz zu Server ) ist nicht das gesamte/Library/Server
Verzeichnis vorhanden. Statt es zu schaffen, versuchen Sie die Korrekturqueue_directory
variabel zu sein/var/spool/postfix
.Ein zweiter Inkonsistenzpunkt sind die Standardeinstellungen für launchd, den Daemon-Manager von Mac OS X. Es ist nicht erforderlich, Postfix ständig auszuführen, da launchd ein Verzeichnis auf ausgehende E-Mails überwachen und Postfix nur ausführen kann, wenn etwas zu senden ist. Um dies zu gewährleisten, muss mit der
QueueDirectories
Tastatureingabeorg.postfix.master.plist
dasmaildrop
Unterverzeichnis des Verzeichnisses inmain.cf
derqueue_directory
Variablen aufgeführt werden. Zum Beispiel habe ich meineorg.postfix.master.plist
Datei so geändert, dass sie Folgendes enthält:Wenn diese beiden Verzeichnisse konsistent sind, sollte Postfix gestartet werden. Sie sollten in der Lage sein zu sehen,
/var/log/mail.log
während Sie laufen:Der letzte dieser Befehle startet Postfix, so dass Sie
mail.log
sofort auf Debugging-Rückmeldungen achten können, aber es ist nicht erforderlich, ihn normal auszuführen. Launchd führt Postfix nach Bedarf aus. (Wenn Sie sicher sind, dass Postfix die ganze Zeit ausgeführt werden soll, verwenden Sie denKeepAlive
in derlaunchd.plist
Manpage angegebenen Schlüssel .)quelle