PDA

View Full Version : Script per mailserver... e tre


mrandre
14-12-2010, 08:54
Ragazzi chiedo scusa perchè è la terza volta che torno a rompere le scatole per questo dannato script che un giorno funziona e uno no...evidentemente non si può essere modificato da solo ma ho notato che da problemi a seconda del pc dal quale lo lancio...magari dipende dall'interprete bash utilizzato...o le stesse regole di sintassi valide per una shell non sono valide per un'altra non so che dire...

In questo momento sono su windows in ufficio, quindi non posso riportare esattamente l'errore che mi viene restituito (mi pare sia ogni tanto UOF e ogni tanto altro); comunque sia a seconda di come tento di cambiare la sintassi, l'errore si trova alle righe 10 o 11 (non escludo che ci possano essere altri errori) :


EMAILS=$(cat $RCVR)
for i in $EMAILS

Ho provato sia con $ e poi le parentesi "()" sia usando gli apici a seconda di come di volta in volta mi è stato consigliato...ero riuscito a tentativi a farlo funzionare sul vecchio red hat che avevo sul notebook ma adesso lo stesso script non funziona più su ubuntu 10...nel caso fosse utile saperlo...

ecco il codice...

#!/bin/sh
#Variabili
SND=sendemail
SENDER=andrea.xxx@zzz.com
RCVR=/home/andrea/Desktop/mailer/list.txt
SMTP=smtpout.secureserver.net
PSWD=########
TXT=/home/andrea/Desktop/mailer/body.txt
#Codice
EMAILS=$(cat $RCVR)
for i in $EMAILS;
do echo "invio mail a $i"; $SND -f $SENDER -t $address -u Company Presentation B -s $SMTP -xu $SENDER -xp $PSWD -o message-file=$TXT;
done

Non so più che pesci pigliare

Gimli[2BV!2B]
14-12-2010, 18:59
Esatto a seconda dei casi prenderà l'interprete di default; scusa, colpa mia, questione di abitudine.

Forza l'uso di bash:#!/bin/bash

[...]

mrandre
15-12-2010, 11:07
;33926374']Esatto a seconda dei casi prenderà l'interprete di default; scusa, colpa mia, questione di abitudine.

Forza l'uso di bash:#!/bin/bash

[...]

Ho aggiunto la stringa

#!/bin/bash

ma la shell continua a darmi questo errore:

'ailsender.sh: line 11: syntax error near unexpected token `
'ailsender.sh: line 11: 'for i in $EMAILS;

Gimli[2BV!2B]
15-12-2010, 19:12
Ipotesi: il file /home/andrea/Desktop/mailer/list.txt non esiste (togliamo pure il potenziale problema dovuto alla presenza di spazi nel nome).#!/bin/bash

#Variabili
SND=sendemail
SENDER=andrea.xxx@zzz.com
RCVR="/home/andrea/Desktop/mailer/list.txt"
SMTP=smtpout.secureserver.net
PSWD=########
TXT="/home/andrea/Desktop/mailer/body.txt"

#Codice
if [ ! -e $RCVR ]; then
echo "Il file RCVR \"$RCVR\" non esiste! (elenco indirizzi)";
exit 1;
fi
if [ ! -e $TXT ]; then
echo "Il file TXT \"$TXT\" non esiste! (testo messaggio)";
exit 1;
fi

EMAILS=$(cat $RCVR)
for i in $EMAILS; do
echo -n "invio mail a $i";
$SND -f $SENDER -t $address -u Company Presentation B -s $SMTP -xu $SENDER -xp $PSWD -o message-file=$TXT;
echo -ne ".\n";
done

Poi, di nuovo, SND=sendemail? Non mi risulta esista, io conosco sendmail.

mrandre
16-12-2010, 09:34
;33936714']Ipotesi: il file /home/andrea/Desktop/mailer/list.txt non esiste (togliamo pure il potenziale problema dovuto alla presenza di spazi nel nome).#!/bin/bash

#Variabili
SND=sendemail
SENDER=andrea.xxx@zzz.com
RCVR="/home/andrea/Desktop/mailer/list.txt"
SMTP=smtpout.secureserver.net
PSWD=########
TXT="/home/andrea/Desktop/mailer/body.txt"

#Codice
if [ ! -e $RCVR ]; then
echo "Il file RCVR \"$RCVR\" non esiste! (elenco indirizzi)";
exit 1;
fi
if [ ! -e $TXT ]; then
echo "Il file TXT \"$TXT\" non esiste! (testo messaggio)";
exit 1;
fi

EMAILS=$(cat $RCVR)
for i in $EMAILS; do
echo -n "invio mail a $i";
$SND -f $SENDER -t $address -u Company Presentation B -s $SMTP -xu $SENDER -xp $PSWD -o message-file=$TXT;
echo -ne ".\n";
done

Poi, di nuovo, SND=sendemail? Non mi risulta esista, io conosco sendmail.

Non ho ancora provato questo script perchè ora sono in ufficio, però ho già controllato che gli indirizzi inseriti fossero giusti e ho notato che eseguendo da shell:

cat /home/andrea/Desktop/mailer/list.txt

ricevo di fatto come output tutte le righe del file

quindi lo escluderei.

per quanto riguarda sendemail -----------> http://freshmeat.net/projects/sendemail/

ed anche questo, eseguito singolarmente in shell funziona correttamente.

Ho controllato e ricontrollato...ma non riesco a trovare l'errore!

Comunque appena torno a casa provo lo script "nuovo"