Bookmark and Share
 Windows: inviare automaticamente email

Programmazione Thursday 5 April 2007 alle 13:56
SAN FRANCISCO - JANUARY 29: (FILES) Buttons wi...

Un amico mi ha trovato camminando in paese (boffalora sopra ticino – il mio grande paese) e mi ha fermato dicendomi:

“Per lavoro devo inviare una mail, tutti i mesi, sempre lo stesso giorno, possibilmente sempre intorno alla stessa ora, con lo stesso testo. Non c’è modo di inviare la email automaticamente? Tanto so che ce la puoi fare…”


Le sfide mi piacciono e, aperto il mio caro amato firefox, mi sono documentato.

Come inviare e-mail con VBS su Windows

Avevo già idea di utilizzare uno script, qualcosa tipo WSH (windows scripting host), o un semplice VBS (visual basic script) e di andarlo ad eseguire automaticamente grazie alla pianificazione operazioni di windows stesso. Bene, idee chiare, unico problema: se il PC su cui girava questo script fosse stato un server web o avesse almeno avuto installato IIS in una qualsiasi delle sue versioni, tutto sarebbe stato più semplice, mentre su un PC “normale”…

Dopo vari tentativi e codici trovati, ho trovato un VBS che fa al caso mio (per utilizzarlo dovete semplicemente copiare il codice seguente, aprire blocco note, incollare e salvare tutto come “invio_mail.VBS” e per eseguirlo, doppio click sul file creato).

Questo VBS utilizza l’oggetto CDOSYS, un componente integrato nei sistemi operativi Microsoft a partire dalla versione Windows 2000, spesso utilizzato per la creazione di newsletter.

Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "oggetto della email da inviare"
' gli indirizzi possono essere inseriti semplici oppure con "nome mittente"
' versione "normale": destinatario@dominio.xxx
' versione "avanzata": ""Nome Cognome"" < destinatatio@dominio.xxx>
' da notare la ripetizione dei doppi apici (")
objMessage.From = "mittente@dominio.xxx"
objMessage.To = "destinatario@dominio.xxx"
objMessage.Cc = "destinatario@dominio.xxx"
objMessage.Bcc = "destinatario@dominio.xxx"
objMessage.TextBody = "testo della mail da inviare, solo testo"
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
' server posta in uscita (SMTP)
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.tuodominio.xxx"
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Update
objMessage.Send
msgbox "il messaggio è stato inviato!"

A questo punto, tramite le operazioni pianificate di windows (start > pannello di controllo > (in visualizzazione classica) operazioni pianificate) ne aggiungete una che configurate come preferite (ora esecuzione e numero di esecuzioni) sul file che avete creato.

Avete finito, divertitevi!!!

(questo script è stato creato a scopo serio, quindi non voglio alcuna responsabilità nel caso di illeciti utilizzi – clicca qui per scaricare il file pronto)

Bookmark and Share

Commenti a “Windows: inviare automaticamente email”

  • ma praticamente significa che Windows invia automaticamente l’e-mail tramite l’indirizzo che uno usa su Outlook? Io Outlook non lo uso, vorrei sapere come faccio a usare questa modalità di invio automatico direttamente su internet, da un indirizzo e-mail a un altro? tipo, per inviare un centinaio di e-mail al giorno allo stesso indirizzo, di modo che la cosa avvenga anche se non accendo il pc… puoi aiutarmi please? :)

Lascia un commento

Ti ricordo che è sempre necessario trascrivere le due parole che leggi nel box rosso. È una misura antispam.