Trimitere de emailuri de pe GMail via script


În mod cert cele descrise în continuare nu vor interesa pe prea mulţi. Un public restrâns la cei pasionaţi de scripting, vor aprecia ceea ce Ryan de la CybernetNews a făcut public ieri într-un articol: un mic script (VBScript, ca să fiu mai exact) ce permite trimiterea unui email folosind un cont GMail (şi SMTP). Cu acest script – pe care Windows-ul ştie să îl execute – puteţi din Command Prompt (sau cmd.exe) să trimiteţi emailuri. Uau, fascinant! Hehe – mai bine spus sec. Şi totuşi, sunt utilizări deosebite pentru acest script, mai ales că poate trimite şi fişiere ataşate.

imagine

Iată codul. Copiaţi-l şi salvaţi-l într-un fişier sendemail.txt. Schimbaţi în liniile 8 şi 9 cu datele contului de GMail de pe care doriţi să se facă expediţia. Sfat: nu folosiţi contul Dvs curent de GMail. Ar fi preferat un alt cont. De ce? Pentru că parola e păstrată în acest fişier text absolut fără nici o criptare. E riscant deci (dacă în urma unei „infecţii” calculatorul vă e scanat, va fi prins contul şi parola). După ce aţi făcut modificările schimbaţi extensia fişierului astfel ca să se numească sendemail.vbs.

'Usage:		cscript sendemail.vbs <email_recipient@example.com> "<subject_line>" "<email_body>" "<optional:email_attachment_path>"
'Ex. No attach:	cscript sendemail.vbs example@gmail.com "test subject line" "test email body"
'Ex. W/ attach:	cscript sendemail.vbs example@gmail.com "test subject line" "test email body" "c:\scripts\log.txt"


'***********
'****CONFIGURE THE FROM EMAIL ADDRESS AND PASSWORD

Const fromEmail	= "adresa@gmail.com"
Const password	= "parolacontului"

'****END OF CONFIGURATION
'***********

Dim emailObj, emailConfig
Set emailObj      = CreateObject("CDO.Message")
emailObj.From     = fromEmail
emailObj.To       = WScript.Arguments.Item(0)
emailObj.Subject  = WScript.Arguments.Item(1)
emailObj.TextBody = WScript.Arguments.Item(2)

If WScript.Arguments.Count > 3 Then
	emailObj.AddAttachment WScript.Arguments.Item(3)
End If

Set emailConfig = emailObj.Configuration
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver")       = "smtp.gmail.com"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport")   = 465
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing")        = 2
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl")       = true
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername")     = fromEmail
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword")     = password
emailConfig.Fields.Update

emailObj.Send

Set emailobj	= nothing
Set emailConfig	= nothing

Cei de la Lifehacker au găsit imediat cum să facă pasul următor: aici explică cum poţi face rapid un script Hotkey. Aveţi Hotkey instalat? Prea puţin(i) probabil. Oricum, dacă vă interesează (am testat eu) codul ar fi (adaptat puţin de mine):

#!e::
{
InputBox, UserInput, Nu uita, Ce să nu uit?, , 400, 120
If Not ErrorLevel
{
Run, cscript.exe sendemail.vbs "unde-sa-ajunga-notele@gmail.com" "Mesaj important de la tine!" "%UserInput%",, Min
}
Return
}

Lansat scriptul, el se apelează cu Win+Alt+E dar evident puteţi pune ce combinaţie de taste doriţi (schimbând codul #!e). Va apare ceva ca în captura următoare.

imagine

Da, da, în poştă mi-a apărut imediat emailul:

Şi acum: la ce bun? Sincer, dacă nu v-au trecut prin minte utilizări atunci scriptul nu vă e de folos. Pe un server Windows poate fi folosit pentru a trimite log-uri sau alte lucruri utile. Poate fi folosit pur şi simplu ca un reminder original. Poate fi folosit pentru a programa emailuri (vreau să îmi trimit automat în fiecare zi la ora 10 un email care să îmi amintească să ud florile). Şi alte utilizări, după imaginaţie…


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (2 evaluări, media: 3,00 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *