laconsulta.sh

La Consulta: CASO 30

El envío de correo electrónico con los números generados al azar pudo haber sido realizado con un par de programas que programé para la ocasión y que tan sólo eventualmente utilicé para generar los dígitos algún día que quise pensar aún menos de lo habitual. El primero es un fichero en C denominado consulta.c y el segundo un script bash llamado consulta.sh que se programaría en mi equipo para automáticamente satisfacer la demanda que La Consulta me había formulado de envíos diarios de correos electrónicos con SIETE dígitos del 1 al 6.

consulta.c



/*****************************************
consulta.c

Programa para La Consulta

Me han propuesto lo siguiente:

Necesitaríamos cada día una serie de SIETE números del uno al seis
-se pueden repetir cifras –Ej: 2451223–.
Sin pensártelo demasiado, los primeros que te vengan a la cabeza.

Pero esto me parece tremendamente difícil de lograr
pues escribir siete números sin pensarlo (demasiado) me resulta imposible,
así que he escrito el siguiente programa para obtener 7 dígitos
del 1 al 6 sin pensarlo en absoluto... aunque no es lo mismo, lo sé.
*****************************************/

#include 

#define NUM_DIGITOS 7
#define CIFRA_MAX 6
#define CIFRA_MIN 1

main()
{
	int  cifra;
	char numero[NUM_DIGITOS] = "1234567";

  srand (time(NULL));

  for (cifra = 0; cifra < NUM_DIGITOS; cifra++)
  {
    numero[cifra] = rand() % (CIFRA_MAX-CIFRA_MIN+1) + (CIFRA_MIN);
    // Convierto cada dígito a caracter para tratarlo como una cadena
    numero[cifra] = '0' + numero[cifra];
	};

  printf("%s\n", numero);
}


consulta.sh



#!/bin/bash

## 1.- DATOS DEL REMITENTE

server_smtp="mail.giusseppe.net:25"
usuario_mail="jmdomin@giusseppe.net"
usuario_nombre="Giusseppe Domínguez"
contras_mail="$omEPassW0rD"

## 2.- FICHERO con el CUERPO DEL MENSAJE
username="$(whoami)"
f_mensaje="/home/$username/bin/consultadata/consulta-$(date +%Y%m%d)"

# Si existe el fichero es que ya se ejecutó este programa hoy
if [ -s $f_mensaje ]
then
  echo "El fichero ya existe. En algún momento se creó, así que ya no es necesario"
  exit
fi

## 3.- CREAR MENSAJE (Asunto y CUERPO)

asunto="$(basename $0): La Consulta"

mensaje="El número para La Consulta de hoy (M-$(date +%Y%m%d)) es:"
echo "$mensaje" > $f_mensaje
consulta >> $f_mensaje
echo "Un abrazo grande y hasta otro día" >> $f_mensaje
echo "$usuario_nombre" >> $f_mensaje

## 4.- DATOS DEL DESTINATARIO
destinatario="jmdomin@giusseppe.net"

## 5.- ENVÍO DEL EMAIL (Usando mailx)
env MAILRC=/dev/null from="$usuario_mail ($usuario_nombre)" \
smtp-use-starttls= ssl-verify=ignore smtp=$server_smtp \
nss-config-dir=/home/$username/.pki/certs \
smtp-auth=login smtp-auth-user=$usuario_mail \
smtp-auth-password=$contras_mail \
mailx -n -s "$asunto" $destinatario < $f_mensaje