Errore Sendmail su OS X Mountain Lion

28

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
    
posta Jason Waldrip 18.06.2012 - 19:08
fonte

4 risposte

36

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.

    
risposta data 26.07.2012 - 05:11
fonte
24

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
    
risposta data 19.09.2012 - 11:22
fonte
3

La soluzione sembra anche correggere un errore in 10.8 dove il servizio fax ha smesso di inviare email dopo l'aggiornamento 10.8.

    
risposta data 02.08.2012 - 22:32
fonte
0

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 .)

    
risposta data 20.10.2013 - 04:29
fonte

Leggi altre domande sui tag