Inviare mail da riga di comando
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