¿Qué demonio de correo ejecuta OS X 10.8.4 de forma predeterminada?

Estoy depurando algunas cosas relacionadas con el correo en mi Mac, y no estoy muy seguro de cómo mi sistema está enviando correos.

Puedo ejecutar un comando simple como date | mail -s test myemail@mydomain.comy recibir un correo electrónico muy bien. Fresco. También puedo usar mail()la función de PHP para enviar correo. sendmail_pathLa variable de configuración de PHP es /usr/sbin/sendmail -t -i, se ve bien.

Pero lo raro es que no creo que Postfix se esté ejecutando...

$ postqueue -p
postqueue: fatal: Queue report unavailable - mail system is down
$ ps -aef | grep -i postfix
  501 28403 25525   0  2:10PM ttys042    0:00.00 grep -i postfix
$ launchctl list | grep -i mail
-   0   com.apple.MailMigratorService
70829   -   0x7fa87941a060.anonymous.Mail
$ launchctl list | grep -i postfix
-   0   org.postfix.master

¿Cómo es que mi Mac incluso envía correo desde el mailcomando de la terminal si Postfix no se está ejecutando? ¿Hay algún otro demonio de correo que se ejecute en OS X?

No conozco los detalles, pero Postfix se genera cuando usa el mailcomando y se apaga poco después. Intente mailalgo y tenga en cuenta que puede comunicarse con Postfix en el puerto 25 un poco después, pero no más tarde.
¡Postfix es el predeterminado! Viene preinstalado con osx.
Intente deshabilitarlo con sudo /bin/launchctl unload -w /System/Library/LaunchDaemons/org.postfix.master.plist

Respuestas (1)

Está usando postfijo. En un nivel alto, cuando ejecuta el mailcomando, sucede lo siguiente:

  • La invocación maildeja caer su mensaje como un archivo en el directorio de entrega de correo postfix, es decir, /var/spool/postfix/maildrop. Esto sucede porque maillas llamadas sendmaila las que llaman postdropa las que colocan el archivo en el correo.
  • El demonio principal de postfix masterestá configurado para iniciarse cuando el buzón tiene archivos. Esto se especifica en el /System/Library/LaunchDaemons/org.postfix.master.plistarchivo.
  • El masterdaemon inicia otros procesos postfijos necesarios, como pickup, qmgry smtppara entregar el correo.
  • Todos estos procesos, incluido el demonio maestro, mueren después de estar inactivos durante un período de tiempo.

El postqueue -pcomando necesita el demonio showq, que se iniciará solo cuando el maestro se esté ejecutando. Cuando ese no es el caso, verá ese error. El showqdaemon se puede configurar para que siempre se esté ejecutando para que pueda usar el postqueue -pcomando. Si solo desea ver la cola de correo, puede hacer esto:

$ sudo postfix start && postqueue -p && sudo postfix stop

Pero tenga en cuenta que si lo inicia de esta manera, también debe apagarlo. De lo contrario, el demonio maestro de postfix será residente y ya no estará bajo demanda.

Si desea saber qué procesos se inician después de emitir mail, puede utilizar el execsnoopcomando para ver qué procesos se están iniciando:

$ sudo execsnoop -v
STRTIME                UID    PID   PPID ARGS
2016 Apr 20 23:57:52   501   2358   1154 mail
2016 Apr 20 23:57:52   501   2359   2357 date
2016 Apr 20 23:57:52   501   2360      1 sendmail
2016 Apr 20 23:57:52   501   2367   2360 postdrop
2016 Apr 20 23:57:52     0   2369   2343 cleanup
2016 Apr 20 23:58:23     0   2384      1 master
2016 Apr 20 23:58:23     0   2385   2384 pickup
2016 Apr 20 23:58:23     0   2386   2384 qmgr
2016 Apr 20 23:58:24     0   2387   2384 bounce
2016 Apr 20 23:58:24     0   2388   2384 trivial-rewrite
2016 Apr 20 23:58:24     0   2389   2384 local
2016 Apr 20 23:58:24     0   2390   2384 smtp