Script bash para enviar correo electrónico

Script bash para enviar correo electrónico
El correo electrónico es un medio de comunicación muy común en el mundo de hoy ahora. Cualquiera puede comunicarse fácilmente o compartir cualquier documento con amigos, familiares y colegas enviando el correo electrónico. En general, las personas usan cualquier servidor de correo electrónico gratuito como Gmail, Yahoo, Hotmail, etc. para enviar el correo electrónico. Pero puede enviar un correo electrónico desde la línea de comando fácilmente en el sistema operativo Linux. Hay muchas formas de enviar correo electrónico a Linux. En este tutorial se muestra algunas formas comunes y fáciles de enviar correo electrónico al sistema operativo Ubuntu desde el terminal.

Inicialización:

Muchos comando de Linux están disponibles para enviar correo electrónico desde la línea de comandos o utilizando un script bash. Pero cualquier comando de envío de correo electrónico no funcionará si no se configura correctamente el servidor SMTP en el sistema. Puede configurar su propio servidor SMTP para enviar correo electrónico desde la línea de comandos o puede usar cualquier servidor SMTP gratuito de cualquier proveedor de servicios de correo electrónico conocido como Gmail o Yahoo. El servidor SMTP de una cuenta de Gmail se utiliza en este tutorial. Para hacer esta tarea, debe seleccionar una cuenta de Gmail y habilitar la opción de 'permitir aplicaciones menos seguras' para que esa cuenta envíe el correo electrónico. Puede visitar el siguiente tutorial para habilitar esta opción.

https: // linuxhint.com/to-to-to-send-email-de-php/

Después de habilitar esta opción, debe abrir el archivo '/etc/ssmtp/ssmtp.conf 'con' root 'privilegio y agregue las siguientes líneas al final del archivo. Debe configurar su dirección de correo electrónico en 'Authuser' y su contraseña de correo electrónico a 'Authpass' para completar la configuración.

UseStarttls = sí
Fromlineverride = sí
root = [email protected]
MailHub = SMTP.gmail.com: 587
Authuser = [email protected]
Authpass = contraseña

Ejemplo-1: Uso del comando sendmail

Uno de los comandos populares de envío de correo electrónico de Linux es 'Sendmail'. El usuario puede enviar fácilmente el correo electrónico desde la línea de comandos utilizando este comando. Si el paquete Sendmail no está instalado en el sistema, ejecute el siguiente comando para instalar el paquete.

$ sudo apt install ssmtp

Supongamos que el contenido de correo electrónico se almacena en un archivo llamado 'correo electrónico.txt 'con el siguiente contenido. Aquí, el texto después del 'asunto:' se enviará como asunto de correo electrónico y la parte restante se enviará como cuerpo de correo electrónico.

correo electrónico.TXT

Asunto: Enviar correo electrónico usando Sendmail
Prueba de cuerpo de correo electrónico

Ejecutar el comando 'sendmail' con la dirección de correo electrónico del destinatario como el siguiente comando.

$ sendmail nombre de [email protected] < email.txt

Ejemplo-2: Uso del comando 'Mail'

El comando más común para enviar un correo electrónico en Linux es el comando 'Mail'. Este comando no está instalado en Ubuntu de forma predeterminada. Ejecute el siguiente comando para instalar el comando 'Mail'.

$ sudo apt install mailUtils

El siguiente comando mostrará la versión de este comando si está instalada en el sistema.

$ mail -v

La opción '-s' se usa en el comando 'correo' para definir el tema del correo electrónico. Ejecutar el comando 'Mail' por '-s' opción con el asunto del correo electrónico y la dirección de correo electrónico del destinatario como el siguiente comando. Pedirá CC: Dirección. Si no desea usar CC: Field, manténgalo en blanco y presione Entrar. Escriba el cuerpo del mensaje y presione Ctrl+D para enviar el correo electrónico.

$ mail -s 'asunto' nombre de [email protected]

Si desea agregar el cuerpo del mensaje de correo electrónico en el comando, use '<<<' operator like the following command.

$ mail -s 'asunto de mensaje' nombre de [email protected] <<< 'testing message body'

También puede agregar la dirección de correo electrónico del remitente con el comando 'correo' utilizando la opción '-a'. El siguiente comando enviará el correo electrónico con el tema, 'Asunto del mensaje', nombre del remitente y dirección de correo electrónico, 'administrador' y dirección de correo electrónico del destinatario, nombre de [email protected] y cuerpo de mensajes, 'Mensaje de prueba'.

$ Mail -S 'Message Asunto' -a de: Admin \
nombre de [email protected] <<< 'testing message'

También puede enviar un cuerpo de mensajes de correo electrónico usando el comando echo y pipe (|). El siguiente comando usa el comando tubería (|) para enviar el cuerpo del mensaje.

$ Echo "Mensaje de prueba" | Mail -S "Asunto de mensajes" Nombre de [email protected]

El correo electrónico se puede enviar a varios destinatarios utilizando el comando 'correo' y agregando direcciones de los destinatarios 'separando la coma. El siguiente comando recibirá un correo electrónico a dos destinatarios.

$ mail -s "prueba de correo electrónico" nombre de [email protected], [email protected] < test.txt

Ejemplo-3: Usando el comando 'Mutt'

Al igual que el comando 'Mail', el comando 'Mutt' no está instalado en Ubuntu de forma predeterminada. Ejecute el siguiente comando para instalar el comando 'Mutt'.

$ sudo apt install mutt

El comando 'Mutt' funciona de manera similar al comando 'Mail', pero el comando 'Mutt' tiene su propio editor para enviar el correo electrónico. Ejecute el siguiente comando con la dirección de correo electrónico válida para enviar el correo electrónico.

$ Echo "Mensaje de prueba" | Mutt -S "Probar correo electrónico" nombre de [email protected]

Puede adjuntar cualquier archivo utilizando la opción '-a' con el comando 'Mail' o 'Mutt'. El siguiente comando adjuntará los elementos del archivo.txt mientras envía el correo electrónico.

$ Echo "Mensaje de prueba" | Mutt -S "Message Asunto" -A ítems.txt - nombre de [email protected]

Ejemplo-4: usando el comando 'SSMTP'

Otro comando de correo electrónico es el comando 'SSMTP'. Si SSMTP no está instalado antes, instale primero el paquete. El comando de instalación para SSMTP se muestra en el Ejemplo-1. Los comandos SSMTP y Sendmail funcionan de manera similar.

Ejecute el siguiente comando con la dirección de correo electrónico válida. Escriba el tema y el cuerpo del correo electrónico. Presione Ctrl+D para salir y enviar el correo electrónico.

$ ssmtp nombre de [email protected]

Ejemplo-5: usando el comando mailx

Puede enviar contenido HTML como cuerpo de correo electrónico sin simplemente enviar el mensaje de texto. Crear un archivo html llamado 'prueba.html 'usar como cuerpo de mensaje.

prueba.html


>

Envío de correo electrónico


Prueba de mensajes de mensajes
<

El comando 'Mailx' funciona como el comando 'Mail'. Debe mencionar el tipo de contenido como texto/html para enviar contenido HTML como el cuerpo del mensaje en el comando 'Mailx'. El siguiente comando enviará el contenido de 'prueba.html 'archivo como el cuerpo del mensaje de correo electrónico.

$ mailx -a 'type de contenido: texto/html' -s "envío de correo electrónico usando Mailx"
< test.html "[email protected]"

Cuando verifique la bandeja de entrada de la cuenta de correo electrónico del destinatario, la lista de correos electrónicos se mostrará como la siguiente imagen.

Conclusión

Después de practicar los comandos anteriores correctamente, espero que el lector pueda enviar un correo electrónico desde la línea de comandos fácilmente en Linux.