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
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
Antworten:
Einfach im Terminal ausführen
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start
Das hat den Trick für mich getan.
Um alle Warnungen loszuwerden, musste ich Folgendes tun:
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo gzip /usr/share/man/man1/{postalias.1,postcat.1,postconf.1,postdrop.1,postfix.1,postkick.1,postlock.1,postlog.1,postmap.1,postmulti.1,postqueue.1,postsuper.1,sendmail.1}
sudo gzip /usr/share/man/man5/{access.5,aliases.5,bounce.5,canonical.5,cidr_table.5,generic.5,header_checks.5,ldap_table.5,master.5,mysql_table.5,nisplus_table.5,pcre_table.5,pgsql_table.5,postconf.5,postfix-wrapper.5,regexp_table.5,relocated.5,tcp_table.5,transport.5,virtual.5}
sudo gzip /usr/share/man/man8/{anvil.8,bounce.8,cleanup.8,discard.8,error.8,flush.8,local.8,master.8,oqmgr.8,pickup.8,pipe.8,proxymap.8,qmgr.8,qmqpd.8,scache.8,showq.8,smtp.8,smtpd.8,spawn.8,tlsmgr.8,trivial-rewrite.8,verify.8,virtual.8}
sudo /usr/sbin/postfix set-permissions
sudo chmod 700 /Library/Server/Mail/Data/mta
sudo /usr/sbin/postfix start
chown: /usr/share/man/man1/postalias.1.gz: No such file or directory
TLDR : Ändern Sie die queue_directoryVariable in /etc/postfix/main.cfin /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/MailDiese beiden scheinen im Laufe der Zeit durcheinander gekommen zu sein. (Hinweis /varist eigentlich ein Symlink zu /private/var, daher werden diese häufig synonym verwendet.)
Was ich sagen kann, /Library/Server/Mailist 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/postfixAndererseits 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.plistIch vermute, es wird der Fehler "Keine solchen Dateien oder Verzeichnisse" angezeigt, da die queue_directoryVariable in Postfix auf main.cfverweist /Library/Server/Mail/Data/spool, die nicht vorhanden ist. Unter normalen Mac OS X-Betriebssystemen (im Gegensatz zu Server ) ist nicht das gesamte /Library/ServerVerzeichnis vorhanden. Statt es zu schaffen, versuchen Sie die Korrektur queue_directoryvariabel 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 QueueDirectoriesTastatureingabe org.postfix.master.plistdas maildropUnterverzeichnis des Verzeichnisses in main.cfder queue_directoryVariablen aufgeführt werden. Zum Beispiel habe ich meine org.postfix.master.plistDatei so geändert, dass sie Folgendes enthält:
<key>QueueDirectories</key>
<array>
<string>/var/spool/postfix/maildrop</string>
</array>
Wenn diese beiden Verzeichnisse konsistent sind, sollte Postfix gestartet werden. Sie sollten in der Lage sein zu sehen, /var/log/mail.logwährend Sie laufen:
$ sudo launchctl unload /System/Library/LaunchDaemons/org.postfix.master.plist
$ sudo launchctl load /System/Library/LaunchDaemons/org.postfix.master.plist
$ sudo launchctl start org.postfix.master
Der letzte dieser Befehle startet Postfix, so dass Sie mail.logsofort 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 den KeepAlivein der launchd.plistManpage angegebenen Schlüssel .)