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
Esegui semplicemente 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
La soluzione sembra anche correggere un errore in 10.8 dove il servizio fax ha smesso di inviare email dopo l'aggiornamento 10.8.
TLDR : modifica la variabile queue_directory
in /etc/postfix/main.cf
in /var/spool/postfix
.
Risposta completa:
È probabile che l'approccio mkdir -p
approccio funzioni, ma sospetto che esista una soluzione più semplice. Avviso leale, sono nuovo di Postfix e 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, ma non sono uguali a, Postfix. /var/spool/postfix
, d'altra parte, è la directory preferita (pagina 14) per le operazioni interne di Postfix.
Ci sono due principali file di configurazione che fanno riferimento a queste directory:
/etc/postfix/main.cf
/System/Library/LaunchDaemons/org.postfix.master.plist
Si vede "Nessun errore di file o directory", suppongo, perché la variabile queue_directory
in% co_de di Postfix si riferisce a main.cf
, che non esiste. Su Mac OS X regolare ( a differenza del server ), l'intera directory /Library/Server/Mail/Data/spool
non fa Esistono Invece di crearlo, prova a correggere la variabile /Library/Server
in queue_directory
.
Un secondo punto di incoerenza è nelle impostazioni predefinite per launchd, il gestore daemon di Mac OS X. Non è necessario eseguire Postfix per tutto il tempo, poiché launchd può guardare una directory per la posta in uscita e lanciare Postfix solo quando c'è qualcosa da inviare. Per assicurarti che ciò accada, la chiave /var/spool/postfix
in QueueDirectories
deve elencare la sottodirectory org.postfix.master.plist
della directory nella variabile maildrop
main.cf
. Ad esempio, ho modificato il mio file queue_directory
per includere:
<key>QueueDirectories</key>
<array>
<string>/var/spool/postfix/maildrop</string>
</array>
Con queste due directory coerenti, dovrebbe essere lanciato Postfix. Dovresti riuscire a guardare org.postfix.master.plist
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 kick-starts Postfix, quindi puoi guardare /var/log/mail.log
per il feedback di debug immediato, ma ancora una volta non è necessario eseguirlo su base normale. Launchd eseguirà Postfix come necessario. (Se sei sicuro di voler usare Postfix sempre, usa la chiave mail.log
dettagliata in % man_de% pagina man .)
Leggi altre domande sui tag mountain-lion