spedire mail con unix
 

Lo script serve per spedire mail da riga di comando

 

Chiaramente Unix è il ''tramite'' utilizzeremo per la spedizione il classico protocollo TCP-IP. Lo sript necessita della creazione di tre file di testo da compilare con:

1)l'oggetto della mail  2)il messaggio  3)il destinatario

Il mittente della mail dovra essere compilato all'interno dello script dove ora leggi guido@italia.it

 

sendmail.ksh

#!/usr/bin/ksh
########################################################################
# S E N D M A I L #
# #
# Variabili SO1 Oggetto #
# Variabili FIL1 Messaggio di testo #
# Variabili DEST1 Destinatario #
# #
########################################################################

if [[ $# -lt 3 ]]
then
echo
echo "Usage : $0 <Oggetto> <Messaggio di testo> <Destinatario>"
echo
echo "ESEMPIO : $0 ogg.txt mess.txt dest.txt"
echo
echo "ATTENZIONE : i parametri devono essere sritti in files di testo"
echo
exit
fi
echo " Procedura di SEND-MAIL automatica"
{
sleep 1
echo 'user *******'
echo 'pass *******'
sleep 1
echo quit
} | telnet ***.***.***.*** 110

###( ***.***.***.*** ) corrispende all' IP server POP3 utilizzato.
###User e password sono quelli utilizzati per la propria connessione internet .

sleep 5

SO1=$1
SOG=`cat $SO1`
echo "Soggetto: $SOG"
FIL1=$2
FILE=`cat $FIL1`
echo "Messaggio: $FILE"
DESTI1=$3
DESTIN=`cat $DESTI1`
echo "Destinatario: $DESTIN"

DESTINATARIO[0]=${DESTIN}
DESTINATARIO[1]="pluto@italia.it"
DESTINATARIO[2]="pippo@italia.it"


for i in 0 ; do
{
echo EHLO ESCOM02
echo MAIL FROM: "guido@italia.it"
sleep 1
echo RCPT TO: ${DESTINATARIO[i]}
sleep 1
echo DATA
sleep 1
echo From: "guido@italia.it"
echo Subject:"`cat $SO1`"
echo "X-Priority: 1 (Highest)"
sleep 1
echo
echo "`cat $FIL1`"
echo .
sleep 2
echo
sleep 4
echo quit
} | telnet ***.***.***.*** 25

###( ***.***.***.*** ) = corrisponde all'IP del server SMTP di posta in uscita.
sleep 1
done

exit 0

NOTE:
In caso di più destinatari essi vanno inseriti implementato il numero delle variabili DESTINATARIO[*]="*****@****" e aggiungendo i numeri corrispettivi nel 'ciclo for' all'interno dello sript sendmail.sh
es.:
DESTINATARIO[0]=${DESTIN}
DESTINATARIO[1]=""
DESTINATARIO[2]="pluto@italia.it"
DESTINATARIO[3]="papero@italia.it"
DESTINATARIO[4]="topolino@italia.it"
for i in 0 1 2 3 4 ; do

Ovviamente lo script si può implementare a secondo delle esigenze, questo è un ibrido fatto appositamente per suggerire sviluppi personalizzati.
     

appunti italiani