Errore Sendmail su OS X Mountain Lion


27

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:


35

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.


Grazie, la posta non esce e viene visualizzato il seguente errore: postdrop: avviso: mail_queue_enter: crea file maildrop / 609676.26828: autorizzazione negata

Ho dovuto fare anche le autorizzazioni set sudo / usr / sbin / postfix e ora funziona

Grazie mille, questo ha funzionato come un incantesimo anche se ha gettato alcuni strani errori e avvertimenti.
Swader

Ho seguito> sudo mkdir ... e funziona. Grazie per la soluzione
Abhinav Chittora,

23

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

1
Non credo sia necessario comprimere le pagine man.
Nohillside

3
La compressione delle pagine man è necessaria per evitare questo avviso quando si eseguono le autorizzazioni set:chown: /usr/share/man/man1/postalias.1.gz: No such file or directory
Andrew Ferrier,

Questo ha funzionato come un fascino, appena incollato tutto e va bene. Grazie @ Jasper!
adriandz,

3

La soluzione sembra anche correggere un errore in 10.8 in cui il servizio fax ha smesso di inviare e-mail dopo l'aggiornamento 10.8.


0

TLDR : Modificare la queue_directoryvariabile /etc/postfix/main.cfa /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/postfixd'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_directoryvariabile di Postfix main.cffa riferimento /Library/Server/Mail/Data/spool, che non esiste. Su Mac OS X normale (a differenza del Server ), l'intera /Library/Serverdirectory non esiste. Invece di crearlo, prova a correggere la queue_directoryvariabile /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 QueueDirectorieschiave di org.postfix.master.plistbisogni alla lista la maildropsottodirectory della directory in main.cf's queue_directoryvariabile. Ad esempio, ho modificato il mio org.postfix.master.plistfile 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.logmentre 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.logfeedback 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 KeepAlivechiave dettagliata nella launchd.plistpagina man .)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.