¿Es necesario configurar un servidor de correo antes de poder usar el mail
comando linux ?
¿Es necesario configurar un servidor de correo antes de poder usar el mail
comando linux ?
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 mail
y se especifica una dirección para enviar correo a, sam@example.com
. 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.
Puedes usar el dig
comando 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.
@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.conf
archivo y también cuando ejecute el dig
comando notará la SERVER: ...
línea en la parte inferior. Ese es el servidor DNS que atiende su solicitud.
Mi /etc/resolv.conf
archivo 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.conf
archivo. 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 dns
cuál es la dirección IP de la nameserver
designada en el /etc/resolv.conf
archivo.
Realmente depende de qué versión de mail
usted 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/sendmail
para 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 mailx
paquete (que proporciona el mail
comando): bsd-mailx
y 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 msmtp
que depender únicamente de un smarthost heirloom-mailx
porque 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, mail
y crond
otros 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.