27 votos

Error de Sendmail en OS X Mountain Lion

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

35voto

LevB Puntos 456

Sólo hay que ejecutar en el terminal

sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start

Eso me ha servido.

23voto

MattK Puntos 210

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

3voto

Ben King Puntos 31

La solución parece arreglar también un error en 10.8 en el que el servicio de fax ha dejado de enviar correos electrónicos tras la actualización a 10.8.

0voto

printemps Puntos 243

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

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.

Powered by:

X