Este es solo un ejemplo de SCRIPTS BASH para enviar correos a múltiples destinatarios. El cual se puede modificar según las necesidades.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#!/bin/bash # Archivo que contiene los datos de los destinatarios (nombre, correo, dirección) DATA_FILE="datos_destinatarios.txt" # Verifica si el archivo existe if [ ! -f "$DATA_FILE" ]; then echo "Error: El archivo '$DATA_FILE' no existe." exit 1 fi # Lee el archivo de datos línea por línea while IFS=, read -r name email address; do # Manejo de errores: si falta algún campo if [ -z "$name" ] || [ -z "$email" ] || [ -z "$address" ]; then echo "Error: Datos incompletos en la línea: $name, $email, $address" continue fi # Crea el cuerpo del mensaje message="Estimado/a $name,\n\nEspero que esta carta te encuentre bien.\n\nTe escribo para informarte sobre [inserta aquí el contenido de la carta].\n\nAtentamente,\n[Tu Nombre]" # Envía el correo usando mailx echo -e "$message" | mailx -s "Asunto de la Carta" "$email" # Mensaje de confirmación echo "Correo enviado a $name en $email" done < "$DATA_FILE" # Mensaje final echo "Proceso completado. Todos los correos han sido enviados." |
El archivo de texto que contiene la información de destinatarios y datos a informar, para este caso de nuestro ejemplo, tiene los campos separados por coma (,) : nombre correo dirección :
Juan Pérez,juan.perez@example.com,Calle Falsa 123
Ana García,ana.garcia@example.com,Avenida Principal 456
Explicación del Script
- Verificación del Archivo: Comprueba si el archivo de datos existe.
- Lectura del Archivo: Lee el archivo línea por línea, separando los campos por comas.
- Manejo de Errores: Verifica si hay datos incompletos y continúa con la siguiente línea si es necesario.
- Cuerpo del Mensaje: Crea un mensaje personalizado utilizando las variables leídas.
- Envío del Correo: Utiliza mailx para enviar el correo con el asunto especificado.
- Confirmación: Imprime un mensaje de confirmación por cada correo enviado.