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.com
y recibir un correo electrónico muy bien. Fresco. También puedo usar mail()
la función de PHP para enviar correo. sendmail_path
La 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 mail
comando de la terminal si Postfix no se está ejecutando? ¿Hay algún otro demonio de correo que se ejecute en OS X?
Está usando postfijo. En un nivel alto, cuando ejecuta el mail
comando, sucede lo siguiente:
mail
deja caer su mensaje como un archivo en el directorio de entrega de correo postfix, es decir, /var/spool/postfix/maildrop
. Esto sucede porque mail
las llamadas sendmail
a las que llaman postdrop
a las que colocan el archivo en el correo.master
está configurado para iniciarse cuando el buzón tiene archivos. Esto se especifica en el /System/Library/LaunchDaemons/org.postfix.master.plist
archivo.master
daemon inicia otros procesos postfijos necesarios, como pickup
, qmgr
y smtp
para entregar el correo.El postqueue -p
comando necesita el demonio showq, que se iniciará solo cuando el maestro se esté ejecutando. Cuando ese no es el caso, verá ese error. El showq
daemon se puede configurar para que siempre se esté ejecutando para que pueda usar el postqueue -p
comando. 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 execsnoop
comando 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
zigg
mail
comando y se apaga poco después. Intentemail
algo y tenga en cuenta que puede comunicarse con Postfix en el puerto 25 un poco después, pero no más tarde.Ruscos
Ruscos