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 Webmail para hacer el trabajo. En tales situaciones, es útil saber cómo enviar correo electrónico desde la línea de comandos de Linux, y este artículo explica cómo hacer exactamente eso.
Antes de que comencemos
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ás Para 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ás 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 saben, 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 los servidores de correo ahora incluyen al menos protección básica de spam que hace que todos los correos electrónicos de fuentes dudosas sean rechazados.
Un usuario de Avid Linux con un servidor de correo electrónico de bricolaje se considera una fuente dudosa de correo electrónico. Además, la mayoría de los proveedores 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 la configuración. También debe permitir aplicaciones que usen tecnología de inicio de sesión menos segura.
Método #1: Mutt
Mutt es un venerable cliente de correo electrónico. Fue creado en 1995 por Michael Elkins, y ha estado recibiendo actualizaciones a un ritmo constante desde entonces desde entonces. A pesar de su naturaleza de línea de comando, Mutt admite muchas características útiles, incluidas macros de teclado, PGP/MIME, roscado de mensajes, archivos adjuntos y mucho más. Puede usarlo con cualquier servicio de correo electrónico que proporcione acceso POP3 o IMAP.
Primero, debe instalar Mutt desde los repositorios de su distribución:
$ sudo apt install mutt
Entonces puedes lanzar Mutt:
$ Mutt
Se le pedirá que cree un directorio de correo. Elija "SÍ" para crearlo. Mutt debe lanzarse y decirle 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/caché/encabezados
$ mkdir ~/.Mutt/caché/cuerpos
$ touch ~/.Mutt/certificados
$ touch ~/.Mutt/MutTrc
Ahora, abra el archivo de configuración en su editor de texto favorito y copie y pegue la siguiente configuración (asegúrese de cambiar la configuración predeterminada a aquellos que coincidan con su cuenta de correo electrónico de Gmail):
# SMTP
Establecer smtp_url = "smtp: // [email protected]: 587/"
Establecer smtp_pass = $ imap_pass
Establecer ssl_force_tls = sí
# IMAP
Establecer imap_user = nombre de [email protected]
Establecer imap_pass = contraseña
establecer spoolfile = imaps: // imap.gmail.com/bandeja de entrada
Establecer carpeta = imaps: // imap.gmail.com/
establecer registro = "imaps: // imap.gmail.com/[gmail]/enviado correo "
Establecer posponed = "imaps: // imap.gmail.com/[gmail]/borradores "
establecer mbox = "imaps: // imap.gmail.com/[gmail]/todo correo "
Establecer Header_Cache = "~/.Mutt/caché/encabezados "
Establecer mensaje_cachedir = "~/.Mutt/caché/cuerpos "
Establecer certificate_file = "~/.Mutt/certificados "
# EDITOR
set editor = "nano"
Ahora puede iniciar Mutt, y debe obtener automáticamente sus correos electrónicos para usted. Para enviar su primer mensaje de correo electrónico desde la línea de comando, presione "M" en su teclado. Elija no recordar un mensaje pospuesto e ingrese la dirección de correo electrónico del destinatario, el tema 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és satisfecho con él, puedes 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 sin duda es el más popular. Si bien estarí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 sepas, comenzando con AERC.
Diseñado para ser eficiente y extensible, AERC aporta al soporte de la tabla para múltiples cuentas, Terebindings de estilo VIM, un navegador web terminal interactivo capaz de emitir 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 sobre las instrucciones oficiales.
Cuando tiene 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, no es necesario editar archivos de configuración manualmente!
Una vez que haya terminado de ingresar información básica de la cuenta y configurar un par de configuraciones básicas, puede leer el tutorial agrupado o ir directamente a su bandeja de entrada.
Para componer un nuevo mensaje, todo lo que necesita hacer es presionar Shift + C.
Método #3: SWAKS
Para enviar correo electrónico desde la línea de comando de Linux de la manera más inteligente posible, debe pensar fuera de la caja y usar herramientas de software de manera que no tenían la intención de ser utilizadas. La aplicación SWAKS es un probador 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 por instalarlo como lo haría con cualquier otra aplicación:
$ sudo apt instalación swaks
Ahora, ingrese el siguiente comando (asegúrese de incluir su propia dirección Gmail) para probar su conexión:
$ swaks -t [email protected] -s smtp.gmail.com: 587 -TLS -A Iniciar sesión [Enter]
Se le pedirá que ingrese su nombre de usuario de Gmail (su dirección de correo electrónico) y su 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, use la siguiente sintaxis:
$ swaks -a buzó[email protected] -s smtp.gmail.com: 587 -tls -au-AP --adjuntar -d ./correo.TXT
Así es como puede enviar un mensaje de correo electrónico usando SWAK con un solo comando terminal.
Método #4: SSMTP
SSMTP es un programa de entrega de correo electrónico destinado a entregar correo de una computadora a un centro de correo (servidor SMTP). Esto significa que puede usarlo para enviar un mensaje de correo electrónico a otra persona, pero no puede usarlo para recibir un mensaje de correo electrónico enviado por otra persona.
Puede instalar SSMTP instalando el paquete correspondiente desde repositorios:
$ sudo apt install ssmtp
La configuración se realiza editando el/etc/ssmtp/ssmtp.Archivo de configuración de conf:
# El usuario que recibe todos los correos (UID < 1000, usually the admin)
root = [email protected]
# El servidor de correo (donde se envía el correo), tanto el puerto 465 o 587
# Ver también https: // soporte.Google.com/correo/respuesta/78799
MailHub = SMTP.gmail.com: 587
# La dirección de donde parece provenir el correo para la autenticación del usuario.
rewrritedomain = gmail.comunicarse
# El nombre de host completo. Debe formarse correctamente, el nombre de dominio totalmente calificado o Gmail rechazará la conexión.
hostname = yourlocalhost.YourLocaldomain.TLD
# Use SSL/TLS antes de comenzar la negociación
Tls_ca_file =/etc/ssl/certs/ca-certificates.CRT
Usetls = sí
UseStarttls = sí
# Usuario Contraseña
Autuser = nombre de usuario
Authpass = contraseña
Authmethod = inicio de sesión
# Correo electrónico 'desde el encabezado puede anular el dominio predeterminado?
Fromlineverride = sí
Para enviar un mensaje de correo electrónico, debe instalar el paquete MailUtils (Sistemas basados en Debian) o Mailx (Sistemas basados en RHEL) para usar el comando de correo para pasar su mensaje de correo electrónico a SSMTP de que puede entregarlo a Gmail. Como esto:
$ echo -e "Asunto: este es el tema \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ nt es el cuerpo” | Usuario de [email protected]
Método #5: Telnet
El último método que queremos ver es el más geek 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 de cliente cliente utilizado para establecer una conexión remota solo de texto a través de una red.
Lo bueno de este método es que un cliente de Telnet es muy probable que ya esté instalado en su distribución de Linux. Lo que no es tan bueno es que hay muchos pasos por pasar. 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
Luego puede iniciar su cliente Telnet y conectarlo al servidor SMTP de Gmail:
$ Telnet -Z SSL SMTP.gmail.com 465
Dado que sería pobre no presentarnos, puede saludar al servidor así:
Helo hellogoogle
Si ha recibido una respuesta positiva, puede proceder con la autenticación:
Authic inicio de sesió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:
CORREO DE:
Luego, especifique el destinatario:
Rcpt a:
Finalmente, dígale al servidor SMTP que desea escribir un correo electrónico:
DATOS
Ahora puede ingresar el tema de su correo electrónico y presionarse para confirmar. Continúe con el cuerpo del correo y presione Enter 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:
ABANDONAR
Conclusión
Está enviando mensajes de correo electrónico desde la línea de comandos de Linux poco práctico? Quizás, pero nunca se sabe cuándo esta habilidad será útil. Incluso si nunca lo usas, al menos puedes sentirte bien contigo mismo, sabiendo que te has vuelto un poco más avanzado como usuario de Linux.