¿El comando de correo requiere un servidor de correo?

¿El comando de correo requiere un servidor de correo?

¿Es necesario configurar un servidor de correo antes de poder utilizar el mailcomando de Linux?

Respuesta1

No, no necesitas un servidor de correo para enviar correo. Estoy más familiarizado con Sendmail y existen 3 clasificaciones de funcionalidades que cumplen con el correo electrónico como servicio. MDA (agentes de entrega de correo) es 1, MTA (agentes de transferencia de correo) es 2 y 3 es MUA (agentes de usuario de correo).

La terminología resulta confusa, pero no es necesario que un MTA esté ejecutándose todo el tiempo. Se llamará al MTA cada vez que el MUA ( mail) quiera "enviar" correo.

Cuando ejecuta maily especifica una dirección a la que enviar correo, [email protected]. El cliente de correo convocará al MTA ( /usr/bin/sendmail), que luego consultará DNS para ese host/dominio (ejemplo.com) y averiguará qué valor está designado para su registro MX. MX significa Intercambiador de correo.

Ejemplo

Puedes usar el digcomando para ver esto:

$ dig gnu.org mx

; <<>> DiG 9.7.4-P1-RedHat-9.7.4-2.P1.fc14 <<>> gnu.org mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21053
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;gnu.org.           IN  MX

;; ANSWER SECTION:
gnu.org.        299 IN  MX  10 eggs.gnu.org.

;; ADDITIONAL SECTION:
eggs.gnu.org.       299 IN  A   208.118.235.92
eggs.gnu.org.       299 IN  AAAA    2001:4830:134:3::10

;; Query time: 218 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:27:22 2013
;; MSG SIZE  rcvd: 90

Entonces el cliente intentará conectarse a egg.gnu.org en el puerto 25 para enviar este correo electrónico.

¿Servidor DNS?

@puk hizo la siguiente pregunta de seguimiento:

¿Este DNS está en mi máquina local?

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 el digcomando notará la SERVER: ...línea en la parte inferior. Ese es el servidor DNS que atiende su solicitud.

Ejemplo

Mi /etc/resolv.confarchivo contiene lo siguiente:

nameserver 192.168.1.8

Y consultas como esta, usando dig:

$ dig gnu.org mx

Resultado en esto en la parte inferior:

;; Query time: 259 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:46:13 2013
;; MSG SIZE  rcvd: 90

Y para el lector astuto, una pregunta: ¿cómo se configura esto? La respuesta es el /etc/nsswitch.confarchivo. Específicamente esta línea:

hosts:      files mdns4_minimal [NOTFOUND=return] dns

Es decir, utilice los archivos primero ( /etc/hosts), seguido de mdns4_minimal. Ese es un DNS de multidifusión. Es básicamente un caché de búsquedas anteriores. Por último utiliza dnscuál es la dirección IP del nameserverdesignado en el /etc/resolv.confarchivo.

Respuesta2

Realmente depende de qué versión mailestés 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 "host inteligente", por ejemplo, el servidor de correo de su ISP) y algunas solo pueden canalizar el mensaje para /usr/sbin/sendmailenviar el correo a través de una MTA local.

En el último caso, la MTA local podría ser una MTA de pleno derecho comoenviar correooeximosufijo. O podría ser un MTA simple de solo envío comocorreo nuloossmtp. O un mini-MTA un poco más sofisticado comomsmtpque también permite poner en cola el correo para su posterior entrega.

En el mundo del software libre y del código abierto, existen dos variantes principales del mailxpaquete (que proporciona el mailcomando): bsd-mailxy heirloom-mailx. El mailcomando también está disponible en GNU mailutils.

bsd-mailxno habla SMTP y sólo puede enviar correo enviándolo a/usr/sbin/sendmail

reliquia-mailxPuede hablar SMTP con un host inteligente, así como con el método tradicional de "canalización a envío de correo". POR CIERTO,Caracoles probablemente el mejor derivado de heirloom-mailx: todavía se está desarrollando y actualizando activamente.

utilidades de correo GNUcontiene varias herramientas relacionadas con el correo tanto para usuarios finales como para administradores de sistemas, incluida una versión de maily mucho más.

Entonces, para responder a su pregunta "¿Necesita un servidor de correo?". Sí, más o menos. Necesita uno pero, dependiendo de la versión que mailtenga instalada, es posible que no tenga que instalarlo ni configurarlo en su propio sistema.

En mi opinión, es mejor tener al menos un MTA mínimo como msmtp(o uno completo como postfixo exim) que depender únicamente de un host inteligente heirloom-mailxporque aún necesita poner en cola el correo para su entrega posterior cuando su conexión a Internet no funciona o su host inteligente está inalcanzable. Con una cola local maily crondotros programas pueden simplemente enviar y olvidar cualquier correo. Sin una cola local, tienen que lidiar de alguna manera con la condición de error si el host inteligente no está disponible.

información relacionada