Я получаю сообщение об ошибке при попытке запустить 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 (в отличие от сервера ), весь /Library/Server
каталог не существует. Вместо того, чтобы создавать его, попробуйте исправить queue_directory
переменную /var/spool/postfix
.
Вторая точка несоответствия - настройки по умолчанию для launchd, диспетчера демонов в Mac OS X. Нет необходимости запускать Postfix все время, так как launchd может просматривать каталог для исходящей почты и запускать 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
странице руководства .)