¿Es necesario configurar un servidor de correo antes de poder usar el mail
comando 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
mail
y 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
dig
comando 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.conf
archivo y también cuando ejecute eldig
comando notará laSERVER: ...
línea en la parte inferior. Ese es el servidor DNS que atiende su solicitud.Ejemplo
Mi
/etc/resolv.conf
archivo 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.conf
archivo. 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, utilizadns
cuál es la dirección IP de lanameserver
designada en el/etc/resolv.conf
archivo.fuente
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 elmail
comando):bsd-mailx
yheirloom-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 smarthostheirloom-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
ycrond
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.fuente