Las Formas Más Inteligentes de Enviar Correo electrónico desde la Línea de Comandos de Linux

A pesar de que ha pasado medio siglo desde que se envió el primer mensaje de correo electrónico, seguimos confiando en la tecnología antigua a diario. Los clientes y servicios de correo electrónico modernos son elegantes, fáciles de usar y están repletos de funciones más avanzadas que la mayoría de los usuarios saben usar.

A veces, sin embargo, todo lo que necesita hacer es enviar un mensaje simple de solo texto, y es posible que no siempre pueda iniciar una aplicación GUI o iniciar sesión en una interfaz de correo web para realizar el trabajo. En tales situaciones, es útil saber cómo enviar correos electrónicos desde la línea de comandos de Linux,y este artículo explica cómo hacerlo.

Antes de comenzar

Antes de describir las formas más inteligentes de enviar correo electrónico desde la línea de comandos de Linux, lo que puede esperar aprender leyendo este artículo:

Aprenderá a enviar mensajes de correo electrónico a través del servidor SMTP de su proveedor de correo electrónico a cualquier dirección de correo electrónico.

No aprenderá cómo configurar su servidor de correo electrónico y usarlo para enviar mensajes de correo electrónico directamente.

¿Por qué no? Porque nadie aceptaría correos electrónicos enviados desde su servidor de correo electrónico de todos modos. Como sabes, el spam es un gran problema cuando se trata de correo electrónico, y prácticamente todos los proveedores de servicios de correo electrónico y servidores de correo ahora incluyen al menos una protección básica contra el spam que hace que todos los correos electrónicos de fuentes dudosas sean rechazados.

Un usuario ávido de Linux con un servidor de correo electrónico DIY se considera una fuente dudosa de correo electrónico. Además, la mayoría de los proveedores de servicios de Internet bloquean el puerto 25, que es el puerto estándar utilizado para las conexiones SMTP, por lo que lo más probable es que ni siquiera pueda enviar mensajes en primer lugar.

En lugar de pasar por todos los problemas de hacer que un servidor de correo electrónico doméstico funcione, es mucho más fácil usar un servicio de correo electrónico como Gmail, que usaremos para este artículo.

Si aún no lo ha hecho, inicie sesión en su cuenta de Gmail y habilite el acceso IMAP desde la pestaña Reenvío y POP/IMAP en Configuración. También debe permitir aplicaciones que utilicen tecnología de inicio de sesión menos segura.

Método # 1: Mutt

Mutt es un cliente de correo electrónico venerable. Fue creado en 1995 por Michael Elkins, y ha estado recibiendo actualizaciones a un ritmo constante desde entonces. A pesar de su naturaleza de línea de comandos, Mutt admite muchas características útiles, incluidas macros de teclado, PGP/MIME, subprocesos de mensajes, archivos adjuntos y mucho más. Puede usarlo con cualquier servicio de correo electrónico que proporcione acceso POP3 o IMAP.

Primero, necesitas instalar Mutt desde los repositorios de tu distribución:

$ sudo apt install mutt

A continuación, puede iniciar Mutt:

$ mutt

Se le pedirá que cree un directorio de correo. Elige » sí » para crearlo. Mutt debería lanzarse y decirte que no hay buzón abierto. Ahora que ha confirmado que Mutt está funcionando, es hora de crear algunos directorios básicos y el archivo de configuración principal, llamado muttrc.

$ mkdir-p~/.mutt / cache / headers
$ mkdir ~/.mutt / cache / bodies
touch touch ~/.mutt / certificados
touch touch ~/.mutt / muttrc

Ahora, abra el archivo de configuración en su editor de texto favorito y copie & pegue la siguiente configuración (asegúrese de cambiar la configuración predeterminada a la que coincida con su cuenta de correo electrónico de Gmail):

# SMTP
set smtp_url = » smtp://:587/ »
set smtp_pass = im imap_pass
set ssl_force_tls = yes
# IMAP
set imap_user = [email protected]
establecer imap_pass = contraseña
establecer archivo de cola = imaps://imap.gmail.com/BANDEJA de entrada
establecer carpeta = imaps://imap.gmail.com/
establecer registro=»imaps://imap.gmail.com//Correo enviado»
establecer pospuesto=»imaps://imap.gmail.com//Borradores»
establecer mbox=»imaps://imap.gmail.com//All Mail»
establece header_cache = «~/.mutt / cache / headers »
establece message_cachedir=»~/.mutt / cache / bodies »
establece certificate_file=»~/.mutt / certificados »
# EDITOR
set editor = «nano»

Ahora puede iniciar Mutt, y debería recuperar automáticamente sus correos electrónicos por usted. Para enviar su primer mensaje de correo electrónico desde la línea de comandos, presione » m » en su teclado. Elija no recordar un mensaje pospuesto e ingrese la dirección de correo electrónico del destinatario, el asunto del mensaje de correo electrónico y, finalmente, el cuerpo del mensaje.

Antes de que Mutt envíe el mensaje de correo electrónico, le permitirá modificarlo y adjuntar un archivo. Una vez que esté satisfecho con él, puede presionar «y» para enviarlo. ¡Así de fácil es enviar un correo electrónico desde la línea de comandos de Linux!

Método # 2: aerc

Probablemente no le sorprenderá saber que Mutt no es el único cliente de correo electrónico de línea de comandos para Linux, aunque ciertamente es el más popular. Si bien sería más allá del alcance de este artículo describir todos los clientes de correo electrónico de línea de comandos para Linux, hay dos clientes más que queremos que conozca, comenzando con aerc.

Diseñado para ser eficiente y extensible, aerc ofrece soporte para múltiples cuentas, combinaciones de teclas de estilo Vim, un navegador web de terminal interactivo capaz de renderizar correos electrónicos HTML y más.

Lo mejor de todo es que aerc es considerablemente más fácil de configurar que Mutt, pero existe la posibilidad de que no se incluya en los repositorios de su distribución. En ese caso, puede compilarlo usted mismo siguiendo las instrucciones de las instrucciones oficiales.

Cuando tenga instalado aerc en su sistema, puede iniciarlo utilizando el comando «aerc». Aerc incluye un práctico asistente de configuración para ayudarlo a configurar su cuenta, ¡sin necesidad de editar archivos de configuración manualmente!

Una vez que hayas terminado de ingresar la información básica de la cuenta y de configurar un par de configuraciones básicas, puedes leer el tutorial incluido o ir directamente a tu bandeja de entrada.

Para redactar un mensaje nuevo, todo lo que necesita hacer es presionar Shift + c

Método #3: swaks

Para enviar correo electrónico desde la línea de comandos de Linux de la manera más inteligente posible, debe pensar fuera de la caja y usar herramientas de software de maneras que no estaban destinadas a usarse. La aplicación swaks es un comprobador de transacciones SMTP de uso múltiple que se puede usar para enviar mensajes de correo electrónico a través de Gmail y otros proveedores.

Comience instalándolo como lo haría con cualquier otra aplicación:

$ sudo apt install < a> < / a>swaks

Ahora, ingrese el siguiente comando (asegúrese de incluir su propia dirección de Gmail) para probar su conexión:

$ swaks-t [email protected] -s smtp. gmail. com: 587-tls-a INICIO DE SESIÓN

Se te pedirá que introduzcas tu nombre de usuario de Gmail (tu dirección de correo electrónico) y tu contraseña. Debe recibir una dirección de correo electrónico de usted mismo, confirmando que la prueba fue exitosa. Para enviar un mensaje de correo electrónico real, utilice la siguiente sintaxis:

$ swaks to to [email protected] -s smtp.gmail. com:587-tls-au <cuenta de usuario>-ap < cuenta-contraseña>attach adjuntar-d ./correo.txt

Así es como puede enviar un mensaje de correo electrónico utilizando swaks con un solo comando de terminal.

Método # 4: sSMTP

sSMTP es un programa de entrega de correo electrónico destinado a entregar correo desde un equipo a un concentrador de correo (servidor SMTP). Esto significa que puede usarlo para enviar un mensaje de correo electrónico a otra persona, pero no para recibir un mensaje de correo electrónico que le envíe otra persona.

Puede instalar sSMTP instalando el paquete correspondiente desde repositorios:

$ sudo apt install ssmtp

La configuración se realiza editando /etc/ssmtp / ssmtp.archivo de configuración de configuración:

# El usuario que recibe todos los correos (UID < 1000, generalmente el administrador)
[email protected]
# El servidor de correo (al que se envía el correo), tanto el puerto 465 como el 587 deberían ser aceptables
# Ver también https://support.google.com/mail/answer/78799
mailhub = smtp.gmail. com:587
# La dirección de donde parece provenir el correo para la autenticación del usuario.
rewriteDomain=gmail.com
# El nombre de host completo. Debe estar formado correctamente, nombre de dominio completo o Gmail rechazará la conexión.
hostname = yourlocalhost.tu dominio local.tld
# Use SSL/TLS antes de iniciar la negociación
TLS_CA_FILE=/etc/ssl/certs / ca-certificates.crt
UseTLS = Yes
UseSTARTTLS = Yes
# Username / Password
AuthUser = username
AuthPass=password
AuthMethod=LOGIN
# Email ‘Del encabezado puede anular el dominio predeterminado?
FromLineOverride = yes

Para enviar un mensaje de correo electrónico, necesita instalar el paquete mailutils (sistemas basados en Debian) o mailx (sistemas basados en RHEL) para usar el comando mail y pasar su mensaje de correo electrónico a sSMTP para que pueda entregarlo a Gmail. Así:

$ echo-e » Asunto: este es el asunto\n \ neste es el cuerpo | / mail [email protected]

Método # 5: Telnet

El último método que queremos ver es el más friki de todos, pero podría ser útil en algún momento de su vida, por lo que al menos ser consciente de su existencia es agradable. Este método se basa en Telnet, un protocolo cliente-servidor utilizado para establecer una conexión remota de solo texto a través de una red.

Lo bueno de este método es que lo más probable es que un cliente Telnet ya esté instalado en su distribución Linux. Lo que no es tan bueno es que hay muchos pasos por recorrer. Dado que estamos utilizando Gmail para los fines de este artículo, debe asegurarse de que su cliente telnet admita el cifrado SSL:

$ sudo apt install telnet-ssl

A continuación, puede iniciar su cliente Telnet y conectarlo al servidor SMTP de Gmail:

$ ssl telnet-z smtp.gmail.com 465

Dado que sería descortés no presentarnos, puede saludar al servidor de esta manera:

HELO hellogoogle

Si ha recibido una respuesta positiva, puede continuar con la autenticación:

INICIO DE SESIÓN DE AUTENTICACIÓN

Primero, ingrese su nombre de usuario codificado en base64 y luego ingrese su contraseña, también codificada en base64. El servidor SMTP debe responder con» 334 UGFzc3dvcmQ6 » cada vez.

Ahora es el momento de especificar su dirección de correo electrónico:

MAIL FROM: <[email protected]>

a Continuación, especifique el destinatario:

RCPT TO: <[email protected]>

Finalmente, dígale al servidor SMTP que desea escribir un correo electrónico:

DATOS

Ahora puede ingresar el asunto de su correo electrónico y presionar entrar para confirmar. Continúe con el cuerpo del correo y presione entrar para confirmar. Para cerrar su mensaje de correo electrónico, ingrese:

Debería ver un mensaje de confirmación que se vea así: 250 2.0.0 OK 1630506266 n10sm56478ejk.86-gsmtp

Ingrese el siguiente comando para finalizar su conexión y enviar el correo electrónico:

SALIR

Conclusión

¿No es práctico enviar mensajes de correo electrónico desde la línea de comandos de Linux? Tal vez, pero nunca se sabe cuándo esta habilidad será útil. Incluso si nunca le das un buen uso, al menos puedes sentirte bien contigo mismo, sabiendo que te has vuelto un poco más avanzado como usuario de Linux.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.