26 (изменено: Malcev, 2016-12-07 08:36:36)

Re: AHK: Отправить email при событии

А в гугле двухэтапная аутентификация?
Если да, то надо тут разрешить:
https://www.google.com/settings/security/lesssecureapps

27

Re: AHK: Отправить email при событии

Malcev, спасибо! Теперь работает.

Win10x64, AHK v1.1.25

28

Re: AHK: Отправить email при событии

Не пойму только, как привязать такой скрипт к событию. Например, при закрытии заданного окна. И можно ли преобразовать сценарий в функцию, чтобы задавать адресатов и тело сообщения для каждого события? Например, при закрытии одного окна отправлять одно сообщение, а при закрытии другого - другое сообщение. Т.е. как-то так:


WinWait, Notepad
WinWaitClose, Notepad
SendMail(mail_1@gmail.com, mail_2@gmail.com, Привет!) ; отправить на две разные почты сообщение "Привет!"
return
Win10x64, AHK v1.1.25

29

Re: AHK: Отправить email при событии

Исправьте, пожалуйста.

SendMail(To, Subject, Body)
{
pmsg 			:= ComObjCreate("CDO.Message")
pmsg.From 		:= """I Am"" <adress@gmail.com>" 
pmsg.To 		:= "%To%"  
pmsg.BCC 		:= ""   ; Blind Carbon Copy, Invisable for all, same syntax as CC
;pmsg.CC 		:= "username@gmail.com, Other-username@gmail.com"
;pmsg.CC 		:= "Somebody@somewhere.com, Other-somebody@somewhere.com"
pmsg.Subject 	:= "%Subject%"
;You can use either Text or HTML body like
pmsg.TextBody 	:= "%Body%"
fields := Object()
fields.smtpserver   := "smtp.gmail.com" ; specify your SMTP server
fields.smtpserverport     := 465 ; 25
fields.smtpusessl      := True ; False
fields.sendusing     := 2   ; cdoSendUsingPort
fields.smtpauthenticate     := 1   ; cdoBasic
fields.sendusername := "adress@gmail.com"
fields.sendpassword := "password"
fields.smtpconnectiontimeout := 60
schema := "http://schemas.microsoft.com/cdo/configuration/"
pfld :=   pmsg.Configuration.Fields
For field,value in fields
	pfld.Item(schema . field) := value
pfld.Update()
Loop, Parse, sAttach, |, %A_Space%%A_Tab%
  pmsg.AddAttachment(A_LoopField)
pmsg.Send()
}

f1::
SendMail(adress@gmail.com, Report, Render Complete!)
return
Win10x64, AHK v1.1.25

30

Re: AHK: Отправить email при событии

У вас неправильные параметры в функции:

Поскольку вызов функции является выражением, не следует заключать в знаки процента имена переменных в списке ее параметров. И напротив, буквальные строки необходимо заключать в двойные кавычки

И переменные:

var := "test"
msgbox % Subject := "%var%"
msgbox % Subject := var

31

Re: AHK: Отправить email при событии

Malcev, пробовал убирать знаки процентов, убирать кавычки, ставить двойные кавычки вместо одинарных - ничего не вышло. Также скрипт ругается на pmsg.Send().

Win10x64, AHK v1.1.25

32

Re: AHK: Отправить email при событии

a := "adress@gmail.com"
SendMail(a)
SendMail("adress@gmail.com")
SendMail(adress@gmail.com)

SendMail(To)
{
   msgbox % to
}

33

Re: AHK: Отправить email при событии

Malcev, получилось. Спасибо!

Win10x64, AHK v1.1.25

34

Re: AHK: Отправить email при событии

Не удается прикрепить файл без расширения:

sAttach := "C:\Users\" A_UserName "\AppData\file" sendpng

Без переменной в пути файл прикрепляется:

sAttach := "D:\file" sendpng

Подскажите, где ошибка?

Win10x64, AHK v1.1.25