Cuando intento el comando en la terminal, se envía un correo electrónico. He comprobado que no se está ejecutando SMTP local, entonces, ¿cuál es el mecanismo utilizado por Apple detrás de escena?
echo "Hello" | mail -s "Test" foo@bar.com
mail
en OS X en realidad parece generar Postfix el tiempo suficiente para manejar el correo, luego lo derribó poco tiempo después.
Para ver esto en acción, intente telnet localhost 25
antes del comando de correo, luego inmediatamente después, luego espere 5 minutos y vuelva a intentarlo.
No estoy seguro de que esta sea realmente una respuesta adecuada a la pregunta porque no explica cómo se genera y derriba Postfix, pero espero que ayude a responder la pregunta.
Los demonios o servidores SMTP están ahí para recibir correo, no para enviarlo. En su ejemplo, mail
es puramente un cliente de correo electrónico, y se conecta a cualquier servidor definido por el registro MX de DNS apropiado bar.com
, y no tiene ningún requisito para que se ejecute un servidor local para hacerlo.
Sin embargo, dependiendo de la configuración de su correo, es posible que deba iniciar sesión en un servidor de correo saliente para autenticarse, o si nada más, para proporcionar las direcciones de remitente y de remitente, etc. Ahora, puede hacer todo esto en la línea de comando pasando el correspondiente parámetros en el terminal, pero siempre que haya configurado su aplicación de Correo, esta configuración ya está almacenada, y simplemente activando temporalmente el subsistema de correo los comandos del terminal pueden obtener esa información y ahora tienen uno o más servidores de correo smtp que pueden elige enviar mensajes salientes. Luego terminará los procesos cuando se complete.
Puede probar todo esto en la línea de comando y enviar el correo sin tener que usar un cliente de correo. No estoy en una Mac, por lo que es posible que alguien que lo esté edite estos comandos, pero puede hacer esto:
nslookup
set type=mx
bar.com
exit
telnet MXServer 25 (where MXServer is one of the results returned above and 25 is the port number for SMTP servers)
Lea esto para obtener más información sobre el correo electrónico a través de telnet: es una excelente herramienta de depuración
Creo que
mail
siempre usa sendmail local para enviar correos. En OSX sendmail es postfix. Y definitivamente se usa.Puede consultar los encabezados de correo
Received: by [Your-Mac] (Postfix, from userid ...
.Sin embargo, no es una buena idea usar
mail
(o mejorpostfix
) de esta manera. La mejor práctica sería utilizar un host inteligente para su Postfix local para evitar restricciones de firewall de uso frecuente.Puede encontrar una solución en SMTP Smart Host Setup para Postfix en Snow Leopard que funciona para mí (también en Lion, Mountain Lion).
fuente