¿El comando de correo requiere un servidor de correo?

16

¿Es necesario configurar un servidor de correo antes de poder usar el mailcomando linux ?

puk
fuente
@slm no es realmente el mismo que el de interrogación consejos que uno necesita un servidor SMTP para ejecutar el correo, pero me estoy preguntando si es absolutamente necesario
PUK
1
Sí, es un posible duplicado, te he respondido b / c que Q lo toma un poco demasiado específico. Todavía se siente como un dup pero te respondí de todos modos 8-)
slm

Respuestas:

14

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:

$ 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

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:

¿Es este DNS 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, uno mi 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

Eso dice, use archivos primero ( /etc/hosts), seguido de mdns4_minimal. Eso es un DNS de multidifusión. Básicamente es un caché de búsquedas anteriores. Por último, utiliza dnscuál es la dirección IP de la nameserverdesignada en el /etc/resolv.confarchivo.

slm
fuente
¿Es este DNS en mi máquina local?
puk
@puk - ver actualizaciones.
slm
@puk - He agregado más ...
slm
7

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 el mailcomando): bsd-mailxy heirloom-mailx.

bsd-mailx no habla SMTP y solo puede enviar correo canalizándolo a/usr/sbin/sendmail

hierloom-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 smarthost heirloom-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, maily crondotros 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.

cas
fuente