Una vez que te familiarices con el uso del terminal Linux, deseas hacer todo en tu sistema simplemente escribiendo comandos, incluido el envío de correos electrónicos, y uno de los aspectos importantes de enviar correos electrónicos son los archivos adjuntos.
Especialmente para Sysadmins, puedes adjuntar un archivo de respaldo, un archivo de registro/informe de operación del sistema o cualquier información relacionada, y enviarlo a una máquina remota o compañero de trabajo.
En esta publicación, aprenderemos formas de enviar un correo electrónico con datos adjuntos desde el terminal de Linux. Es importante destacar que hay varios clientes de correo electrónico de línea de comandos para Linux que puedes usar para procesar correos electrónicos con funciones simples.
- Usa Lynx para navegar por la web desde terminal Linux
- Cómo generar contraseñas aleatorias desde Terminal Linux
- Cómo medir la velocidad de Internet desde Terminal Linux
1. Requisito: Configurar Servidor de correo
Para usar este tutorial de manera efectiva y confiable, debes tener un sistema de correo en funcionamiento o configurar uno de los agentes de transferencia de correo (MTA) para Linux en tu sistema.
Un MTA es una aplicación responsable de enviar y recibir correos electrónicos de un host a otro.
Para enviar a cualquier persona desde la terminal, puede utilizar cualquiera de los clientes de correo de la terminal. Algunos de ellos son:
- Mutt
- ssmtp
- Postfix
Empecemos.
Tomaremos como ejemplo a ssmtp
, entonces instalamos utilizando el siguiente comando:
#Debian/Ubuntu
sudo apt-get install ssmtp
#RHEL/CentOS
sudo yum install ssmtp
#Fedora
sudo dnf install ssmtp
La configuración para ssmtp
se puede hacer editando el archivo de configuración “/etc/ssmtp/ssmtp.conf
“. Use tu editor de texto favorito para cambiar el archivo de configuración a:
nano /etc/ssmtp/ssmtp.conf
root=micorreo@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=miusuariogmail
AuthPass=micontraseña
UseSTARTTLS=YES
Ahora puedes probar ssmtp con el comando:
ssmtp micorreo@gmail.com < mensaje.txt
Donde mensaje.txt
debe ser un archivo formateado como:
To: micorreo@gmail.com
From: micorreo@gmail.com
Subject: Prueba SSMTP
Una prueba de ssmtp
Una vez que pase la prueba, estarás listo para enviar los correos.
SI TE APARECE EL SIGUIENTE ERROR:
send-mail: Authorization failed (534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 ni5sm3908366pbc.83 - gsmtp)
Can't send mail: sendmail process failed with error code 1
Realiza lo siguiente:
- Inicia sesión en tu cuenta de Gmail utilizando el navegador web.
Haz clic en este enlace para permitir que las aplicaciones accedan a tu cuenta.
- Permitir el acceso de aplicaciones poco seguras:
SÍ
2. Enviar correos con comando ssmtp
Es sencillo y fácil de usar.
Usa el siguiente formato para enviar correo usando el comando ssmtp
.
echo -e "Subject: Asunto\nEsto es un mensaje" > /tmp/ssmtp-mail.txt
ssmtp correoelectronico@gmail.com < /tmp/ssmtp-mail.txt
3. Enviar correos con comando mail
El comando mail
es el comando más popular para enviar correos electrónicos desde la terminal de Linux.
Se puede instalar desde el repositorio oficial de distribución de la siguiente manera.
#Debian/Ubuntu
sudo apt-get install mailutils
#RHEL/CentOS
sudo yum install mailx
#Fedora
sudo dnf install mailx
Es sencillo y fácil de usar.
- Utiliza el siguiente formato para enviar correo electrónico utilizando el comando sin un archivo adjunto.
echo "Esto es un mensaje" | mail -s "Asunto" correoelectronico@gmail.com
- Usa el siguiente formato para enviar correo usando el comando
mail
con archivo adjunto.
echo "Esto es un mensaje" | mail -a texto.txt -s "Asunto" correoelectronico@gmail.com
4. Enviar correos con comando mutt
mutt
es otro comando popular para enviar correos electrónicos desde la terminal de Linux.
Mutt es un programa pequeño pero muy poderoso basado en texto, para leer y enviar correo electrónico bajo sistemas operativos Unix, que incluye soporte para terminales de color, MIME, OpenPGP y un modo de clasificación por hilos.
El comando mutt
se puede instalar desde el repositorio oficial de distribución de la siguiente manera.
#Debian/Ubuntu
sudo apt-get install mutt
#RHEL/CentOS
sudo yum install mutt
#Fedora
sudo dnf install mutt
Esto también es sencillo y fácil de usar. Abre la terminal y escribe ‘mutt
‘. Se te pedirá que crees un nuevo buzón de correo, presiona la tecla ‘y
‘. Verás el buzón como este:
Ahora puedes enviar correo presionando la tecla ‘m
‘ y luego sigue las instrucciones (es fácil).
Después de que estés listo con el cuerpo de tu correo, el asunto y la dirección del destinatario, se verá algo parecido a…
¿Algo más directo? Sí, es posible…
- Usa el siguiente formato para enviar correo usando el comando
mutt
sin un archivo adjunto.
echo "Esto es un mensaje" | mutt -s "Asunto" correoelectronico@gmail.com
- Usa el siguiente formato para enviar correo usando el comando
mutt
con archivo adjunto.
echo "Esto es un mensaje" | mutt -s "Asunto" correoelectronico@gmail.com -a texto.txt
5. Enviar correos con comando mpack
mpack
es otro comando popular para enviar correos electrónicos desde la terminal de Linux.
El programa mpack
codifica el archivo nombrado en uno o más mensajes MIME. Los mensajes resultantes se envían por correo a uno o más destinatarios.
El comando mpack
se puede instalar desde el repositorio oficial de distribución de la siguiente manera.
#Debian/Ubuntu
sudo apt-get install mpack
#RHEL/CentOS
sudo yum install mpack
#Fedora
sudo dnf install mpack
- Usa el siguiente formato para enviar correo usando el comando
mpack
sin un archivo adjunto. (Esto no ha funcionado para mi, es decir, sin archivo adjunto)
echo "Esto es un mensaje" | mpack -s "Asunto" correoelectronico@gmail.com
- Usa el siguiente formato para enviar correo usando el comando
mpack
con archivo adjunto.
echo "Esto es un mensaje" | mpack -s "Asunto" correoelectronico@gmail.com -a texto.txt
6. Enviar correos con comando sendmail
Sendmail es el servidor SMTP más popular y de uso general utilizado en la mayoría de las distribuciones de Linux.
Además, te permite enviar correos electrónicos desde la línea de comandos.
El comando sendmail
se puede instalar desde el repositorio oficial de distribución de la siguiente manera.
#Debian/Ubuntu
sudo apt-get install sendmail
#RHEL/CentOS
sudo yum install sendmail
#Fedora
sudo dnf install sendmail
- Usa el siguiente formato para enviar correo usando el comando sendmail.
echo -e "Subject: Asunto\nEsto es un mensaje" > /tmp/enviar-mail.txt
sendmail correoelectronico@gmail.com < enviar-mail.txt
7. Conclusión
¡Eso es todo! ¿Tienes en mente otros métodos para enviar correos electrónicos con, o sin, archivos adjuntos desde la terminal de Linux que no se mencionan en la lista anterior? Cuéntame en los comentarios.
Recomendaciones similares:
- Enviar correos electrónicos a cualquier número móvil
- Cómo Recibir Alertas de Correo cuando Alguien Ingresa a tu PC
¿Te ha gustado este artículo? Sigue este blog en su fanpage de Facebook, Twitter, Instagram y/o YouTube para que no te pierdas del mejor contenido informático y hacking!