Я получаю сообщение об ошибке при попытке запустить sendmail. Я на OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
mountain-lion
Джейсон Уолдрип
источник
источник
Чтобы избавиться от всех предупреждений, мне пришлось сделать следующее:
источник
chown: /usr/share/man/man1/postalias.1.gz: No such file or directory
Решение, по-видимому, также исправляет ошибку в 10.8, когда служба факсов перестала отправлять электронные письма после обновления 10.8.
источник
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
переменная в Postfixmain.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
«Squeue_directory
переменной. Например, я изменил свойorg.postfix.master.plist
файл, чтобы включить:После согласования этих двух каталогов Postfix должен запуститься. Вы должны быть в состоянии смотреть,
/var/log/mail.log
пока вы бежите:Последняя из этих команд запускает Postfix, так что вы можете наблюдать
mail.log
за немедленной отладочной обратной связью, но опять же нет необходимости выполнять ее в обычном режиме. Launchd будет запускать Postfix по мере необходимости. (Если вы уверены, что хотите, чтобы Postfix работал постоянно, используйтеKeepAlive
ключ, подробно описанный наlaunchd.plist
странице руководства .)источник