Podczas próby uruchomienia sendmaila pojawia się błąd. Korzystam z systemu OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Podczas próby uruchomienia sendmaila pojawia się błąd. Korzystam z systemu OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Odpowiedzi:
Wystarczy wykonać w terminalu
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start
To załatwiło sprawę.
Aby pozbyć się wszystkich ostrzeżeń, musiałem wykonać następujące czynności:
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 : Zmień queue_directory
zmienną /etc/postfix/main.cf
na /var/spool/postfix
.
Pełna odpowiedź:
mkdir -p
Zbliżyć prawdopodobnych prace, ale podejrzewam, że istnieje prostsze rozwiązanie. Uczciwe ostrzeżenie, jestem nowy w Postfix i to wszystko może być niepoprawne.
Wygląda na to, że różne wersje systemu Mac OS X używają jednego z dwóch katalogów głównych dla poczty:
/var/spool/postfix
/Library/Server/Mail
Wydaje się, że z czasem ci dwaj zamęli się. (Uwaga /var
jest w rzeczywistości dowiązaniem symbolicznym do /private/var
, więc często widzisz te używane zamiennie).
Z tego, co mogę powiedzieć, /Library/Server/Mail
jest katalog, którego Mac OS X Server używa do swoich usług pocztowych, które zależą od Postfix, ale nie są takie same. /var/spool/postfix
z drugiej strony jest preferowanym katalogiem (s. 14) dla wewnętrznych operacji Postfix.
Istnieją dwa główne pliki konfiguracyjne, które odnoszą się do tych katalogów:
/etc/postfix/main.cf
/System/Library/LaunchDaemons/org.postfix.master.plist
Podejrzewam, że widzisz „Brak takiego błędu pliku lub katalogu”, ponieważ queue_directory
zmienna w Postfixie main.cf
odnosi się do /Library/Server/Mail/Data/spool
, która nie istnieje. W zwykłym systemie Mac OS X (w przeciwieństwie do serwera ) cały /Library/Server
katalog nie istnieje. Zamiast go utworzyć, spróbuj poprawić queue_directory
zmienną /var/spool/postfix
.
Drugim punktem niespójności są domyślne ustawienia uruchomionego menedżera demonów Mac OS X. Nie jest konieczne uruchamianie Postfix przez cały czas, ponieważ uruchomiony może oglądać katalog poczty wychodzącej i uruchamiać Postfix tylko wtedy, gdy jest coś do wysłania. Aby upewnić się, że będzie to się stało, QueueDirectories
kluczem do org.postfix.master.plist
potrzeb notować w maildrop
podkatalogu katalogu w main.cf
„s queue_directory
zmiennej. Na przykład zmieniłem org.postfix.master.plist
plik, aby uwzględnić:
<key>QueueDirectories</key>
<array>
<string>/var/spool/postfix/maildrop</string>
</array>
Przy zgodności tych dwóch katalogów Postfix powinien zostać uruchomiony. Powinieneś być w stanie oglądać /var/log/mail.log
podczas biegu:
$ 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
Ostatnie z tych poleceń uruchamia Postfix, więc możesz uważać mail.log
na natychmiastowe informacje debugowania, ale znowu nie jest konieczne wykonywanie go normalnie. Uruchomiony uruchomi Postfix w razie potrzeby. (Jeśli jesteś pewien, że chcesz, aby Postfix działał cały czas, użyj KeepAlive
klucza opisanego na launchd.plist
stronie podręcznika ).