Quando tento enviar um email usando o sendemail na linha de comando ele funciona (eu mudei meu email e senha para dados simulados):
/usr/bin/sendemail -l /home/myhome/bin/email.log -f "[email protected]" -u "WAN IP Changed" \
-t "[email protected]" -s "smtp.gmail.com:587" -o tls=yes -xu "[email protected]" -xp "my password" \
-o message-file="/home/myhome/bin/.last_wanip_addr";
Mas, se ele for executado em um script, ele ficará na parte sendemail. O script basicamente pega meu wan ip e me envia um e-mail se for diferente da última vez que foi salvo. Eu estou correndo tanto como root (Isso foi só para testar)
#!/bin/bash
# Check and send ip address to email
MyWANIP='wget -qO- ipecho.net/plain';
TIME='date';
LASTIPFILE='/home/myhome/bin/.last_wanip_addr';
LASTIP='cat ${LASTIPFILE}';
echo "${LASTIP}";
echo "${MyWANIP}";
if [[ ${MyWANIP} != ${LASTIP} ]]
then
echo "New IP = ${MYIP}"
echo "Sending email..."
/usr/bin/sendemail -l /home/myhome/bin/email.log -f "[email protected]" -u "WAN IP Changed ${MyWANIP}" \
-t "[email protected]" -s "smtp.gmail.com:587" -o tls=yes -xu "[email protected]" -xp "my password" \
-o message-file="/home/myhome/bin/.last_wanip_addr";
echo ${MyWANIP} > ${LASTIPFILE};
else
echo "No IP change";
fi
Tags bash shell-script