Quale demone di posta esegue OS X 10.8.4 per impostazione predefinita?

2

Sto eseguendo il debug di alcune cose relative alla posta sul mio Mac, e non sono abbastanza sicuro di come il mio sistema stia mandando anche la posta.

Posso eseguire un comando semplice come date | mail -s test [email protected] e ricevere un'e-mail bene. Freddo. Posso anche usare la funzione mail() di PHP per inviare posta. La variabile di configurazione sendmail_path di PHP è /usr/sbin/sendmail -t -i , sembra a posto.

Ma la cosa strana è che non penso che Postfix stia funzionando ...

$ 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

In che modo il mio Mac invia anche la posta dal comando di terminale mail se Postfix non è in esecuzione? Esiste un altro demone di posta OS X in esecuzione?

    
posta ashgromnies 02.08.2013 - 20:13
fonte

1 risposta

6

Sta usando postfix. Ad un livello superiore, quando si esegue il comando mail , si verifica quanto segue:

  • Invocare mail rilascia il tuo messaggio come file nella directory maildrop postfix, cioè /var/spool/postfix/maildrop . Ciò accade perché mail chiama sendmail che chiama postdrop che colloca il file nel maildrop.
  • Il daemon principale postfix, master è configurato per l'avvio quando il maildrop contiene file. Questo è specificato nel file /System/Library/LaunchDaemons/org.postfix.master.plist .
  • Il daemon master avvia altri processi postfix necessari come pickup , qmgr e smtp per recapitare la posta.
  • Tutti questi processi, incluso il demone master, muoiono dopo essere rimasti inattivi per un periodo di tempo.

Il comando postqueue -p richiede il demone showq che verrà avviato solo quando il master è in esecuzione. Quando non è così, vedi questo errore. Il daemon showq può essere configurato per essere sempre in esecuzione in modo da poter utilizzare il comando postqueue -p . Se vuoi solo vedere la coda della posta, puoi farlo:

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

Ma tieni presente che se lo avvii in questo modo, devi spegnerlo anche tu. Altrimenti il demone master postfix sarà residente e non sarà più su richiesta.

Se vuoi sapere quali processi iniziano dopo aver pubblicato mail , puoi utilizzare il comando execsnoop per vedere quale processo sta avviando:

$ 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
    
risposta data 21.04.2016 - 10:20
fonte

Leggi altre domande sui tag