Eu recebo um erro ao tentar executar o sendmail. Estou no OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Eu recebo um erro ao tentar executar o sendmail. Estou no OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Respostas:
Basta executar no terminal
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start
Isso fez o truque para mim.
Para me livrar de todos os avisos, tive que fazer o seguinte:
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 : altere a queue_directory
variável /etc/postfix/main.cf
para /var/spool/postfix
.
Resposta completa:
A mkdir -p
abordagem provavelmente funciona, mas suspeito que haja uma solução mais simples. Aviso justo, sou novo no Postfix, e tudo isso pode estar incorreto.
Parece que várias edições do Mac OS X usam um dos dois diretórios raiz para correio:
/var/spool/postfix
/Library/Server/Mail
Esses dois parecem ter sido confusos ao longo do tempo. ( /var
Na verdade, a observação é um link simbólico /private/var
; portanto, você costuma ver os usados de forma intercambiável.)
Pelo que sei, /Library/Server/Mail
é um diretório que o Mac OS X Server usa para seus serviços de correio, que dependem, mas não são iguais ao Postfix. /var/spool/postfix
, por outro lado, é o diretório preferido (p. 14) para as operações internas do Postfix.
Existem dois arquivos de configuração principais que referenciam esses diretórios:
/etc/postfix/main.cf
/System/Library/LaunchDaemons/org.postfix.master.plist
Você está vendo o erro " Não existe esse arquivo ou diretório", suspeito, porque a queue_directory
variável no Postfix main.cf
se refere /Library/Server/Mail/Data/spool
, o que não existe. No Mac OS X comum ( diferente do Servidor ), o /Library/Server
diretório inteiro não existe. Em vez de criá-lo, tente corrigir a queue_directory
variável a ser /var/spool/postfix
.
Um segundo ponto de inconsistência está nas configurações padrão do launchd, o gerenciador de daemon do Mac OS X. Não é necessário executar o Postfix o tempo todo, pois o launchd pode assistir a um diretório para envio de mensagens e executar o Postfix apenas quando houver algo a ser enviado. Para se certificar de que isso vai acontecer, a QueueDirectories
chave no org.postfix.master.plist
necessidades para listar o maildrop
subdiretório do diretório em main.cf
's queue_directory
variável. Por exemplo, mudei meu org.postfix.master.plist
arquivo para incluir:
<key>QueueDirectories</key>
<array>
<string>/var/spool/postfix/maildrop</string>
</array>
Com esses dois diretórios consistentes, o Postfix deve ser iniciado. Você deve poder assistir /var/log/mail.log
enquanto executa:
$ 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
O último desses comandos inicia o Postfix, para que você possa observar o mail.log
feedback imediato da depuração, mas, novamente, não é necessário executar normalmente. O Launchd executará o Postfix conforme necessário. (Se você tem certeza de que deseja que o Postfix seja executado o tempo todo, use a KeepAlive
chave detalhada na launchd.plist
página de manual .)