Paso 2: Automatizar el envío de correo
Así, para automatizar todos los pasos que hemos estado haciendo antes, he estado buscando la red, algo que podría permitirme hacer esto, hacer que el bash no permite tal cosa.
Y finalmente he encontrar algo cerca de la fiesta, el esperar!
Básicamente, esperará una cadena a imprimir en el terminal. Y sólo cuando se recibe esta cadena, va a escribir otro.
Por ejemplo cuando se inicia la comunicación telnet con el servidor contestarle una cadena termina por "SMTPUTF8", y cuando esta cadena se escribe en el terminal de google el script deberá enviar la respuesta HELO
Te invito a comprobar todos los pasos de previouses, como se puede ver para cada cadena envía al servidor hay una respuesta.
He baso mi script en esto.
Aquí está cómo lo hice, he crear un script de bash que recuperar mi dirección IP pública y el estado de mi servidor y enviarlo en una cadena como argumento a mi script de esperar.
Primero la fiesta de la escritura que llaman mi script de esperar (es una versión ligera para el ejemplo)
He subo las dos secuencias de comandos.
___________________________________BASH SCRIPT________________________________
#! / bin/bash
Línea #This aquí es causa más adelante usaré crontab
PATH = / usr/local/sbin: / usr/local/bin: / usr/sbin: / usr/bin: / sbin: / bin: / usr/juegos: / usr/local/juegos
echo "Récupération de l ' Adresse ip pública"
Curl ifconfig.me > ipPublic.txt
IP = "IpPublic ="
IP += $(cat ipPublic.txt) PLEX = ""
echo "IP pública maison:" $IP
servicio - estado-todo | grep plex > tmp.txt
Si [[-s tmp.txt]]; entonces
PLEX = "PlexStatus = funcionamiento"
Eco $PLEX
otra cosa
PLEX = "PlexStatus = Stoppé"
Eco $PLEX
fi
tmp.txt RM
echo "Envoi du mail..."
/Home/diard/Téléchargements/telnetScript.exp $IP $PLEX
echo "Script terminé"
________________________________END OF BASH SCRIPT_____________________________
Y ahí está la secuencia de comandos esperar. El script sólo veíamos, llama la follo con la Ip y el estado de mi servidor.
___________________________________EXPECT SCRIPT_______________________________
#! / usr/bin/esperar
establecer HELO "HELO yo"
configurar SMTP "smtp.gmail.com"
Configurar puerto "587"
configurar AUTH "AUTH LOGIN"
Set LOGI "< yourEncodedMail >"
Set PASS "< yourEncodedPass >"
fijar el EXPE "MAIL FROM: < yourMail > "
set DEST "RCPT TO: < DestMail > "
conjunto de "datos"
establecer el asunto "asunto: información del servidor"
establecer MES1 [lindex $argv 0]
establecer MES2 [lindex $argv 1]
Set POIN "."
Set dejar de fumar "QUIT"
establecer tiempo de espera de 10
Spawn /usr/bin/openssl s_client - starttls smtp-conectar $SMTP: $PORT - crlf-ign_eof
esperan que "SMTPUTF8"
Enviar "$HELO\r"
esperar un "servicio"
Enviar "$AUTH\r"
esperar "WU6"
Enviar "$LOGI\r"
esperar "mQ6"
Enviar "$PASS\r"
esperar "Aceptado"
Enviar "$EXPE\r"
esperan que "gsmtp"
Enviar "$DEST\r"
esperan que "gsmtp"
Enviar "$DATA\r"
esperan que "gsmtp"
Enviar "$SUBJ\r"
Enviar "$MES1\r"
Enviar "$MES2\r"
Enviar "$POIN\r"
esperan que "qsmtp"
Enviar "$QUIT\r"
cerrar
esperan salida de EF
___END DE ESPERAR SCRIPT___