Viene visualizzato un errore durante il tentativo di eseguire sendmail. Sono su OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Viene visualizzato un errore durante il tentativo di eseguire sendmail. Sono su OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Risposte:
Eseguire nel terminale
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start
Questo ha fatto il trucco per me.
Per sbarazzarsi di tutti gli avvisi ho dovuto fare quanto segue:
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 : Modificare la queue_directory
variabile /etc/postfix/main.cf
a /var/spool/postfix
.
Risposta completa:
L' mkdir -p
approccio probabilmente funziona, ma sospetto che ci sia una soluzione più semplice. Attenzione, sono nuovo di Postfix e tutto ciò potrebbe non essere corretto.
Sembra che varie edizioni di Mac OS X utilizzino una delle due directory principali per la posta:
/var/spool/postfix
/Library/Server/Mail
Questi due sembrano essere stati confusi nel tempo. (Nota /var
è in realtà un collegamento simbolico a /private/var
, quindi spesso vedi quelli usati in modo intercambiabile.)
Da quello che posso dire, /Library/Server/Mail
è una directory che Mac OS X Server utilizza per i suoi servizi di posta, che dipendono da Postfix, ma non sono gli stessi. /var/spool/postfix
d'altra parte, è la directory preferita (p. 14) per le operazioni interne di Postfix.
Esistono due file di configurazione principali che fanno riferimento a queste directory:
/etc/postfix/main.cf
/System/Library/LaunchDaemons/org.postfix.master.plist
Si vede il messaggio "Nessun errore di file o directory", sospetto, perché la queue_directory
variabile di Postfix main.cf
fa riferimento /Library/Server/Mail/Data/spool
, che non esiste. Su Mac OS X normale (a differenza del Server ), l'intera /Library/Server
directory non esiste. Invece di crearlo, prova a correggere la queue_directory
variabile /var/spool/postfix
.
Un secondo punto di incoerenza è nelle impostazioni predefinite di launchd, il daemon manager di Mac OS X. Non è necessario eseguire Postfix sempre, poiché launchd può guardare una directory per la posta in uscita ed eseguire Postfix solo quando c'è qualcosa da inviare. Per assicurarsi che questo accadrà, la QueueDirectories
chiave di org.postfix.master.plist
bisogni alla lista la maildrop
sottodirectory della directory in main.cf
's queue_directory
variabile. Ad esempio, ho modificato il mio org.postfix.master.plist
file per includere:
<key>QueueDirectories</key>
<array>
<string>/var/spool/postfix/maildrop</string>
</array>
Con queste due directory coerenti, Postfix dovrebbe avviarsi. Dovresti essere in grado di guardare /var/log/mail.log
mentre corri:
$ 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
L'ultimo di questi comandi avvia Postfix, quindi puoi controllare il mail.log
feedback di debug immediato, ma di nuovo non è necessario eseguirlo su base normale. Launchd eseguirà Postfix secondo necessità. (Se sei certo di voler eseguire Postfix sempre, usa la KeepAlive
chiave dettagliata nella launchd.plist
pagina man .)