Learning Center
Servicios de Webmail

Cómo enviar correos electrónicos en Linux desde la línea de comandos con Sendmail y Mailx

26 nov 2025
Hostman Team
Hostman Team

Para quienes administran servidores o trabajan en tareas de automatización, saber cómo enviar correos electrónicos desde la terminal de Linux es esencial. Esto permite un control total sobre las funciones de correo y elimina la necesidad de programas complejos. Es especialmente útil en escenarios donde la rapidez y la simplicidad son fundamentales.

Herramientas comunes como sendmail y mailx se utilizan frecuentemente para enviar mensajes, verificar configuraciones SMTP, automatizar alertas e integrarse con scripts. Son herramientas simples pero muy efectivas, ideales para tareas como informar al equipo sobre actualizaciones del servidor, generar informes automatizados o probar configuraciones de correo.

Esta guía está diseñada para usuarios que desean gestionar su correo directamente desde la terminal. Incluye la instalación de las herramientas esenciales y también tareas avanzadas, como el envío de adjuntos y la configuración de herramientas de correo.

Por qué elegir herramientas de correo por línea de comandos
Copiar enlace

Las dos herramientas más utilizadas —sendmail y mailx— son soluciones confiables para enviar correo en Linux. Sus principales ventajas son:

Eficiencia
Copiar enlace

Los clientes de correo tradicionales pueden ser lentos y consumir muchos recursos. Estas herramientas permiten enviar correos de forma rápida y ligera directamente desde la terminal.

Automatización
Copiar enlace

Se integran fácilmente con scripts shell, procesos cron y herramientas de monitoreo. Esto permite automatizar notificaciones y alertas para tareas repetitivas.

Solución de problemas SMTP
Copiar enlace

Configurar y depurar SMTP se vuelve más sencillo. Estos comandos permiten inspeccionar mensajes, registros y errores con mayor claridad.

Flexibilidad
Copiar enlace

Desde enviar alertas hasta generar informes automáticos, sendmail y mailx ofrecen una amplia versatilidad.

Requisitos previos
Copiar enlace

Antes de utilizar estas herramientas de correo en Linux, asegúrate de tener:

  • Acceso a terminal: En algunos casos pueden requerirse permisos de root.

  • Un servidor SMTP: Necesario para realizar pruebas de envío.

  • Herramientas instaladas: Comprueba que sendmail y mailx estén instalados correctamente.

Configuración de un servidor SMTP
Copiar enlace

Los servidores SMTP son esenciales para enviar correos. Se dividen en dos tipos:

  1. Servidores SMTP externos

  2. Servidores SMTP locales

Servidores SMTP externos
Copiar enlace

Son servidores de correo proporcionados por un tercero. Permiten enviar correos a destinatarios fuera de la red local. Ofrecen:

  • Entrega global

  • Autenticación

  • Cifrado

  • Prevención de spam

Ejemplos
Copiar enlace

Gmail

  • Dirección: smtp.gmail.com

  • Puerto: 587 (TLS) o 465 (SSL)

Outlook

  • Dirección: smtp.office365.com

  • Puerto: 587

Estos servidores requieren autenticación adecuada (usuario, contraseña o contraseñas específicas de aplicación) y cifrado (TLS/SSL).

Nota: ya proporcionamos una guía para configurar servidores SMTP externos. El comando para enviar correos mediante Postfix es el mismo. Solo debes configurar los parámetros SMTP y sustituir la dirección por tu cuenta de Gmail u otro proveedor.

Servidores SMTP locales
Copiar enlace

Funcionan exclusivamente dentro de una red privada. Son ideales para:

  • Enviar correos entre usuarios internos (por ejemplo: tom@office.local → jerry@office.local)

  • Pruebas y desarrollo locales

  • Comunicación interna

  • No requieren acceso a Internet

Cómo configurar un servidor SMTP local
Copiar enlace

1. Instalar Postfix
Copiar enlace

sudo apt install postfix

2. Editar la configuración de Postfix
Copiar enlace

sudo nano /etc/postfix/main.cf

Ajusta o confirma estos parámetros:

myhostname = mail.office.local

mydomain = office.local

myorigin = $mydomain

inet_interfaces = loopback-only

local_recipient_maps = proxy:unix:passwd.byname

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

Guarda los cambios y reinicia:

sudo systemctl restart postfix

3. Crear usuarios de correo
Copiar enlace

sudo adduser linux

sudo adduser hostman

Esto permite direcciones como linux@office.local.

Resumen de sendmail
Copiar enlace

sendmail es un conocido agente de transferencia de correo (MTA) en Linux. Funciona perfectamente con servidores SMTP y permite enviar correos desde sistemas locales o scripts.

Instalación de sendmail
Copiar enlace

Debian/Ubuntu
Copiar enlace

sudo apt install sendmail

CentOS/Red Hat
Copiar enlace

sudo yum install sendmail

Iniciar y habilitar el servicio
Copiar enlace

sudo systemctl start sendmail

sudo systemctl enable sendmail

Probar la configuración
Copiar enlace

echo "Testing sendmail setup" | sendmail -v your-email@example.com

Verificar el correo recibido:

mail

Si mail no está instalado:

sudo apt install mailutils

O utilizar:

cat /var/mail/user

Editar archivo de configuración de sendmail
Copiar enlace

sudo nano /etc/mail/sendmail.mc

Ejemplo de ajuste del nombre de dominio:

define(`confDOMAIN_NAME', `your_domain.com')dnl

Regenerar el archivo de configuración:

sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Si aparece un error de permisos:

sudo sh -c "m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf"

Reiniciar el servicio:

sudo systemctl restart sendmail

Enviar correo con sendmail
Copiar enlace

1. Crear un archivo con el mensaje
Copiar enlace

nano email.txt

Contenido:

Subject: Test Email from Hostman

This is a test email sent using sendmail on Linux.

2. Enviar el correo
Copiar enlace

sendmail recipient@example.com < email.txt

3. Verificar
Copiar enlace

mail

Enviar adjuntos con sendmail
Copiar enlace

sendmail no admite adjuntos de forma nativa. Debes usar uuencode:

sudo apt install sharutils

Enviar archivo adjunto:

( echo "Subject: Email with attachment"; uuencode file.txt file.txt ) | sendmail recipient@example.com

Verificación:

mail

Resumen de mailx
Copiar enlace

mailx es una utilidad de terminal simple y eficaz para gestionar correo electrónico. Forma parte del paquete mailutils.

Instalar mailx
Copiar enlace

Debian/Ubuntu
Copiar enlace

sudo apt install mailutils

Red Hat
Copiar enlace

sudo yum install mailx

Enviar correo con mailx
Copiar enlace

echo "This is the body of the email" | mailx -s "Test Email from Mailx" recipient@example.com

Enviar adjuntos con mailx
Copiar enlace

echo "Please find the attached document" | mailx -s "Email with Attachment" -A email.txt recipient@example.com

Conclusión
Copiar enlace

Enviar correos desde la línea de comandos en Linux es una forma eficaz de automatizar tareas de comunicación, solucionar problemas de servidores o probar configuraciones. Con herramientas como sendmail y mailx, puedes gestionar mensajes simples o configuraciones complejas con adjuntos. Esta guía ofrece instrucciones claras para comenzar sin dificultad y mejorar tu flujo de trabajo.