Me sale un error al intentar ejecutar sendmail. Estoy en OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Me sale un error al intentar ejecutar sendmail. Estoy en OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Para eliminar todos los avisos 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
TLDR : Cambia el queue_directory
variable en /etc/postfix/main.cf
a /var/spool/postfix
.
Respuesta completa:
El mkdir -p
acercarse a probablemente funcione, pero sospecho que hay una solución más sencilla. Aviso, soy nuevo en Postfix, y todo esto puede ser incorrecto.
Parece que varias ediciones de Mac OS X utilizan uno de los dos directorios root 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 ello, a menudo se utilizan indistintamente).
Por lo que puedo decir, /Library/Server/Mail
es un directorio que Servidor Mac OS X utiliza para sus servicios de correo, que dependen de Postfix, pero no son los mismos. /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
Sospecho que el error "No such file or directory" se debe a que el queue_directory
en la variable de Postfix main.cf
se refiere a /Library/Server/Mail/Data/spool
que no existe. En Mac OS X normal ( a diferencia del servidor ), todo el /Library/Server
directorio no existe. En lugar de crearlo, intente corregir el queue_directory
variable a ser /var/spool/postfix
.
Un segundo punto de incoherencia está en la configuración por defecto de launchd, el gestor 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 sólo ejecutar Postfix cuando haya algo que enviar. Para asegurarse de que esto ocurra, el QueueDirectories
clave en org.postfix.master.plist
tiene que enumerar el maildrop
subdirectorio del directorio en main.cf
's queue_directory
variable. Por ejemplo, he cambiado mi org.postfix.master.plist
para incluirlo:
<key>QueueDirectories</key>
<array>
<string>/var/spool/postfix/maildrop</string>
</array>
Con estos dos directorios consistentes, Postfix debería lanzarse. Deberías ser capaz de ver /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 arranca Postfix, para que pueda ver mail.log
para obtener información inmediata de depuración, pero de nuevo no es necesario ejecutarlo de forma normal. Launchd ejecutará Postfix cuando sea necesario. (Si está seguro de que quiere que Postfix se ejecute todo el tiempo, utilice la opción KeepAlive
clave detallada en el launchd.plist
página de manual .)
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.