Andrea Beggi

Everything is gonna be all right.

Inviare mail da riga di comando

A T T E N Z I O N E ! Questo post ha piu' di sei mesi. Le informazioni contenute potrebbero non essere aggiornate.

Ogni tanto capita di imbattersi in piccole perle che semplificano il lavoro e risolvono i problemi in modo elegante.
E’ il caso di Blat, una utility che, in soli 36k, è in grado di inviare mail da riga di comando.
L’ho scoperto stamane, mentre cercavo qualcosa che mi spedisse giornalmente i backup log di un cliente.
L’utilizzo è semplicissimo: va inizializzato la prima volta, per settare il profilo nel registry, con il comando:
blat -install smtpserver userid
quindi si può inviare una mail con la sintassi:
blat corpo.txt -subject "Oggetto della mail" -to pinco@pallino.it
Questo comando crea una mail estraendo il corpo dal file, ed imposta l’oggetto ed il destinatario.
Ci sono diversi switch che ne permettono l’utilizzo avanzato, ad esempio è supportata l’autenticazione e diversi tipi di codifica degli allegati binari.
Io ho usato la versione 1.94, ma ne esiste una versione più recente, la 2.50.
Ecco un esempio di un batch che ho creato (sono 6 righe, togliete i numeri di riga):
1) @echo off
2) set logpath=d:\back_log\
3) set logfilename=logbackup-%date:~6,4%-%date:~3,2%-%date:~0,2%.txt
4) set logdestination=%logpath%%logfilename%
5) robocopy d:\ f:\dati\lunedi\ /XA:S /MIR /SEC /NP /R:3 /W:10 /LOG+:%logdestination%
6) blat %logpath%%logfilename% -base64 -subject "Backup Dati ACME"%date:~6,4%-%date:~3,2%-%date:~0,2% -to user1@domain1.com,user2@domani2.com -server smtp.server.net -u postmaster@dominio.com -pw segreto

21 Commenti

silentman | #

Uso blat con soddisfazione per mandare le designazioni agli arbitri via email in modo automatico da excel (e il buon vecchio gnokii per mandarle via sms)…

Mi piacerebbe fare il porting del foglio che uso per gestire tutta la baracca su OpenOffice, per avere una soluzione totalmente portabile, se non fosse che e’ un lavoro TITANICO, risultato di due anni di migliorie e tuning…. ma questo e’ un’altro discorso 🙂

silentman | #

Per completezza, precedentemente usavo BMail, che pure e’ funzionale, ma molto meno flessibile di Blat.

Tambu | #

mi sto picchiando con un problema simile: sai mica come scriptare la data per fargli prendere quella di ieri (e vantieri e il giorno prima, of course)?
%date%-1 non funziona

fmf | #

Io pure l’ho scoperto da poco e lo uso assieme ad un altro bel tool: abakt che fa backup da linea di comando.
Un batch che chiama abakt e mi manda in mail l’eventuale risultato negativo del backup messo in c:\windows\system32\grouppolicy\user\scripts\logoff et voila’: backup automagici con rotazione settimanale ogni volta che spengo il pc.
Forse che ne avevi parlato tu di abakt?
O degli script di logoff di windows?
Boh…

Andy | #

Ma il vecchio telnet? 😀

Andrea | #

Andy, capisco essere nerd. Ma complicarsi la vita apposta….

dandyna | #

oh beggiiii non ti manco neanche un po’??

Andrea | #

Ma certo, cara. Sei tu che ora fai la webmistress e non caghi più nessuno….

virgix | #

Ottimo! Farò un collegamento per gli utenti, così quando telefonano per un problema possano spedirmi subito la copia dei loro dati – evitando il solito penoso “mi mandi via mail…” – e giù spiegazioni di quali files mi servono e della loro posizione.

Perchè purtroppo spesso gli amministratori di rete l’accesso esterno non te lo vogliono proprio dare!

dandyna | #

non è vero non è vero non è verooooooo!!!! anzi te mi devi aiutare. la vedi la descrizione sotto il titolo di dandyland? prima stava nella parte nera ora mi è scesa improvvisamente e mi va sopra la barra gialla e non si legge nulla, che devo fà!

davidonzo | #

dandy, fai la webmastra senza saper controllare i div? ^_^”

.description{
/*Aggiunta*/
margin-top: -5px /*o quello che serve…*/;
/*fine aggiunta*/
padding: 0 6px;
font-family: Georgia,Arial;
font-size: 11px;
color: #777;
}

Marco | #

Scusate, io ho la tua stessa necessità, cioè ricevere dei log automaticamente, ma prima di inviare la mail, come faccio ad eseguire l’accesso ad internet via modem???
Grazie a chiunque possa aiutarmi.

Nando | #

Per controllare l’accesso remoto puoi usare il comando rasdial (presente da win2k in poi).
Dai rasdial /? e vedi le opzioni da usare per connetterti e disconnetterti.
Per Win9x c’è in giro un semplice ma efficace programmino che emula il comportamento di rasdial e che si chiama rasdial95.exe. Cerca con google e vedrai che lo trovi.

cristian | #

scusate, da quanto vi risulta quando scrivo il comando:
blat -install smtpserver userid
occorre inserire smtp qualunque o ne serve uno specifico? no perchè fin’ora a me le mail sono partite solo cn virgilio (smtp: blat install out virgilio.it….) se provo altri server non funzionano.. come mai secondo voi?

francesco tartarini | #

ciao , sei veramente bravo ,
voglio mandare un po di mail 10 o 20 insieme
(no span, sono daccordo) se no divento cretino a
scriverne uno per volta
sono appoggiato ad aruba con cui ho anche il dominio
il mio sito e’ esclusivamente calcistico se ti interessa
scusa il server che devo mettere quale e’ (aruba ?)
o posso usare uno a caso
il destinatario ha bisogno di un mittente ?

antonello | #

Scusate,

avrei la necessità d’inviare ad una lista di destinatari una mail con un allegato diverso per ciascun destinatario.

Ho una tabella così strutturata:

destinatario email file da allegare
pippo pippo@pippo.it \\indass\pippo.xls

Secondo voi è possibile utilizzare blat per inviare i file con unica riga di comando? O è necessario scrivere più righe, una per ciascun destinatario?
Onestamente ho guardato la documentazione di blat, ma il grado di comprensione è vicino allo zero.

Grazie
Antonello

Paolo | #

Aggiungo che non è indispensabile inserire la pass se punti direttamente al tuo smtp mail server…

Tiziano | #

Ciao a tutti. Non so perché ma quando tento di configurare :

C:\WINDOWS\system32>blat -install smtp.libero.it endertm@libero.it
Blat v3.0.0 w/GSS encryption (build : Feb 17 2012 17:46:41)

SMTP server set to smtp.libero.it on port 25 with user endertm@libero.it, retry
1 time(s)

C:\WINDOWS\system32> blat.exe – -to endertm@libero.it -subject “ogg” -body “corpo”
Blat v3.0.0 w/GSS encryption (build : Feb 17 2012 17:46:41)

Error: Can’t connect to server (timed out if winsock.dll error 10060)

Potete darmi una mano? con linux non ho problemi (con sendmail) ma onestamente qui non capisco, ho provato altri server ma è la stessa cosa. Grazie mille.

Danilo | #

Ciao a tutti! Sapete dirmi se è possibile, attraverso Blat o altri software, fare scattare uno screenshot del PC e farlo inviare via email?
Grazie!
Danilo