Recibo un error cuando intento ejecutar sendmail. Estoy en OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Recibo un error cuando intento ejecutar sendmail. Estoy en OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Respuestas:
Solo ejecuta en la terminal
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start
Eso hizo el truco para mí.
Para deshacerme de todas las advertencias, tuve que hacer lo siguiente:
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 : cambie la queue_directory
variable /etc/postfix/main.cf
a /var/spool/postfix
.
Respuesta completa:
El mkdir -p
enfoque probablemente funcione, pero sospecho que hay una solución más simple. Advertencia justa, soy nuevo en Postfix, y todo esto puede ser incorrecto.
Parece que varias ediciones de Mac OS X usan uno de los dos directorios raíz para el correo:
/var/spool/postfix
/Library/Server/Mail
Estos dos parecen haberse confundido con el tiempo. (Nota /var
es en realidad un enlace simbólico a /private/var
, por lo que a menudo ve que se usan indistintamente)
Por lo que puedo decir, /Library/Server/Mail
es un directorio que Mac OS X Server usa para sus servicios de correo, que dependen, pero no son lo mismo, de Postfix. /var/spool/postfix
, por otro lado, es el directorio preferido (p. 14) para las operaciones internas de Postfix.
Hay dos archivos de configuración principales que hacen referencia a estos directorios:
/etc/postfix/main.cf
/System/Library/LaunchDaemons/org.postfix.master.plist
Sospecha que "No existe tal error de archivo o directorio", sospecho, porque la queue_directory
variable en Postfix main.cf
hace referencia /Library/Server/Mail/Data/spool
, que no existe. En Mac OS X normal (a diferencia del servidor ), /Library/Server
no existe todo el directorio. En lugar de crearlo, intente corregir la queue_directory
variable a ser /var/spool/postfix
.
Un segundo punto de inconsistencia está en la configuración predeterminada para launchd, el administrador de demonios de Mac OS X. No es necesario ejecutar Postfix todo el tiempo, ya que launchd puede ver un directorio para el correo saliente y solo ejecuta Postfix cuando hay algo que enviar. Para asegurarse de que esto suceda, la QueueDirectories
clave org.postfix.master.plist
debe enumerar el maildrop
subdirectorio del directorio en main.cf
la queue_directory
variable de. Por ejemplo, cambié mi org.postfix.master.plist
archivo para incluir:
<key>QueueDirectories</key>
<array>
<string>/var/spool/postfix/maildrop</string>
</array>
Con estos dos directorios consistentes, Postfix debería iniciarse. Deberías poder mirar /var/log/mail.log
mientras corres:
$ 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
El último de estos comandos inicia Postfix, por lo que puede estar atento mail.log
a los comentarios de depuración inmediata, pero nuevamente no es necesario ejecutarlo de manera normal. Lanzado ejecutará Postfix según sea necesario. (Si está seguro de que quiere que Postfix se ejecute todo el tiempo, use la KeepAlive
clave detallada en la launchd.plist
página del manual ).