Я отримую помилку при спробі запуску sendmail. Я на OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Я отримую помилку при спробі запуску sendmail. Я на OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Відповіді:
Просто виконайте в терміналі
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start
Це зробило для мене трюк.
Щоб позбутися всіх попереджень, я повинен був зробити наступне:
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 : змініть queue_directory
змінну /etc/postfix/main.cf
на /var/spool/postfix
.
Повна відповідь:
mkdir -p
Підходити можливі роботи, але я підозрюю , що є більш просте рішення. Справедливе попередження, я новачок у Postfix, і це все може бути неправильно.
Здається, різні видання Mac OS X використовують один з двох кореневих каталогів для пошти:
/var/spool/postfix
/Library/Server/Mail
Ці два, здається, з часом заплуталися. (Примітка /var
- це насправді символьне посилання на /private/var
, тому ви часто бачите тих, що використовуються взаємозамінно.)
З того, що я можу сказати, /Library/Server/Mail
це каталог, який Mac OS X Server використовує для своїх поштових служб, які залежать від Postfix, але вони не є такими ж. /var/spool/postfix
, з іншого боку, є кращим каталогом (стор. 14) для внутрішніх операцій Postfix.
Є два основні файли конфігурації, на які посилаються ці каталоги:
/etc/postfix/main.cf
/System/Library/LaunchDaemons/org.postfix.master.plist
Ви бачите "Немає такого помилки у файлі чи каталозі", я підозрюю, оскільки queue_directory
змінна в Postfix main.cf
посилається на /Library/Server/Mail/Data/spool
, яка не існує. У звичайному Mac OS X ( на відміну від Server ) весь /Library/Server
каталог не існує. Замість того, щоб створювати його, спробуйте виправити queue_directory
змінну /var/spool/postfix
.
Другий момент невідповідності - у налаштуваннях за замовчуванням для запуску, диспетчера демонів Mac OS X. Не потрібно весь час запускати Postfix, оскільки запускаючий може переглядати каталог для вихідної пошти та запускати Postfix лише тоді, коли є що надіслати. Щоб переконатися, що це станеться, QueueDirectories
ключ org.postfix.master.plist
повинен перелічити maildrop
підкаталог каталогу у змінній main.cf
's queue_directory
. Наприклад, я змінив свій org.postfix.master.plist
файл, щоб він включав:
<key>QueueDirectories</key>
<array>
<string>/var/spool/postfix/maildrop</string>
</array>
Якщо ці два каталоги відповідають, Postfix повинен запускатися. Ви повинні мати можливість дивитися /var/log/mail.log
під час бігу:
$ 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
Остання з цих команд запускає Postfix, тому ви можете спостерігати mail.log
за негайною відладкою зворотного зв’язку, але повторити її не потрібно в звичайній основі. Launchd запустить Postfix за потребою. (Якщо ви впевнені, що хочете, щоб Postfix працював увесь час, використовуйте KeepAlive
ключ, детальний на launchd.plist
сторінці man .)