¿Es necesario configurar un servidor de correo antes de poder usar el mailcomando linux ?
mail-command
puk
fuente
fuente

Respuestas:
No, no necesita un servidor de correo para enviar el correo. Estoy más familiarizado con Sendmail y hay 3 clasificaciones de funcionalidad que cumplen con el correo electrónico como servicio. MDA (Agentes de entrega de correo) es 1, y MTA (Agentes de transferencia de correo) es 2, y 3 es MUA (Agentes de usuario de correo).
La terminología se vuelve confusa, pero no requiere que se ejecute un MTA todo el tiempo. Se llamará al MTA cada vez que el MUA (
mail) quiera "enviar" correo.Cuando se ejecuta
maily se especifica una dirección para enviar correo a,[email protected]. El cliente de correo convocará al MTA (/usr/bin/sendmail) que luego consultará DNS para ese host / dominio (example.com), y descubrirá qué valor está designado para su registro MX. MX significa Intercambiador de correo.Ejemplo
Puedes usar el
digcomando para ver esto:Por lo tanto, el cliente intentará conectarse a eggs.gnu.org en el puerto 25 para entregar este correo electrónico.
¿Servidor DNS?
@puk hizo la siguiente pregunta de seguimiento:
A lo que respondí:
@puk: puede ser de la misma manera que el servidor de correo, pero normalmente no lo es. Mire su
/etc/resolv.confarchivo y también cuando ejecute eldigcomando notará laSERVER: ...línea en la parte inferior. Ese es el servidor DNS que atiende su solicitud.Ejemplo
Mi
/etc/resolv.confarchivo contiene lo siguiente:Y consultas como esta, usando
dig:Resultado en esto en la parte inferior:
Y para el lector astuto, uno mi pregunta, ¿cómo se configura esto? La respuesta es el
/etc/nsswitch.confarchivo. Específicamente esta línea:Eso dice, use archivos primero (
/etc/hosts), seguido demdns4_minimal. Eso es un DNS de multidifusión. Básicamente es un caché de búsquedas anteriores. Por último, utilizadnscuál es la dirección IP de lanameserverdesignada en el/etc/resolv.confarchivo.fuente
Realmente depende de qué versión de
mailusted esté usando.Todas las versiones necesitan un MTA para entregar el correo, pero algunas versiones son capaces de usar SMTP para comunicarse con un MTA remoto (el "smarthost", por ejemplo, el servidor de correo de su ISP) y algunas solo pueden canalizar el mensaje
/usr/sbin/sendmailpara enviar el correo a través de una MTA local.En el último caso, el MTA local podría ser un MTA completo como sendmail o exim o postfix . O podría ser un simple MTA de solo envío como nullmailer o ssmtp . O un mini-MTA un poco más sofisticado como msmtp que también admite el correo en cola para su posterior entrega.
En el mundo del software libre y el código abierto, hay dos variantes principales del
mailxpaquete (que proporciona elmailcomando):bsd-mailxyheirloom-mailx.bsd-mailx no habla SMTP y solo puede enviar correo canalizándolo a
/usr/sbin/sendmailhierloom-mailx puede hablar SMTP a un smarthost así como al método tradicional 'pipe-to-sendmail'.
Entonces, para responder a su pregunta "¿Necesita un servidor de correo?". Sí, más o menos. Necesita uno pero, según la versión de correo que haya instalado, es posible que no tenga que instalarlo y configurarlo en su propio sistema.
En mi opinión, está mejor con un mínimo de MTA
msmtpque depender únicamente de un smarthostheirloom-mailxporque aún necesita poner en cola el correo para una entrega posterior cuando su conexión a Internet está inactiva o su smarthost es inalcanzable. Con una cola local,mailycrondotros programas pueden enviar y olvidar cualquier correo. Sin una cola local, tienen que lidiar de alguna manera con la condición de error si el smarthost no está disponible.fuente