¿Por qué OS X puede enviar un correo electrónico sin configurar primero el SMTP?

9

Cuando intento el comando en la terminal, se envía un correo electrónico. He comprobado que no hay ningún SMTP local en ejecución, así que, ¿cuál es el mecanismo utilizado por Apple detrás de la escena?

echo "Hello" | mail -s "Test" [email protected]
    
pregunta Yoga 31.07.2013 - 18:00

3 respuestas

4

mail en OS X en realidad parece generar Postfix el tiempo suficiente para manejar el correo, y luego demolerlo un poco más tarde.

Para ver esto en acción, intente telnet localhost 25 antes del comando de correo, inmediatamente después, 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 destruye el Postfix, pero espero que ayude a responder la pregunta.

    
respondido por el zigg 04.08.2013 - 20:21
7

Los servidores o demonios 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 DNS MX apropiado de bar.com , y no requiere que un servidor local se esté ejecutando para poder 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 no es así, solo para proporcionar direcciones de remitentes y remitentes, etc. Ahora, puede hacer todo esto en la línea de comandos. pasando los parámetros apropiados 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 capturar esa información y ahora tienen uno o más smtp de correo Los servidores pueden optar por enviar mensajes salientes. Entonces terminará los procesos cuando esté completo.

Puede probar todo esto en la línea de comandos y enviar el correo sin tener que usar un cliente de correo. No estoy en una Mac, por lo que es posible que estos comandos deban ser editados por alguien que sí lo esté, pero puedes 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 envío de correos electrónicos a través de telnet. Es una excelente herramienta de depuración

    
respondido por el stuffe 31.07.2013 - 18:21
1

Creo que mail siempre usa sendmail local para enviar correos. En OSX sendmail es postfix. Y es definitivamente utilizado.

Puedes verificar los encabezados de correo Received: by [Your-Mac] (Postfix, from userid ... .

Sin embargo, no es una buena idea usar mail (o mejor postfix ) de esta manera. La mejor práctica sería usar un Host Inteligente para su Postfix local para evitar las restricciones de cortafuegos usadas con frecuencia.

Puede encontrar una solución en Configuración de host inteligente SMTP para Postfix en Snow Leopard que funciona para mí (también en Lion, Mountain Lion).

    
respondido por el dor 01.08.2013 - 15:37

Lea otras preguntas en las etiquetas