1

Тема: AHK: Отправить email при событии

Подскажите, пожалуйста, существует ли возможность отправить email при совершении определенного события посредством AHK? Если да, то как это можно реализовать? Спасибо!

Win10x64, AHK v1.1.25

2

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

becauseim
Поиск никак отломался (1, 2 и т.д.)?

P.S.: Всё жду...

3

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

Flasher, спасибо! Искал по слову "email", не нашел.

Win10x64, AHK v1.1.25

4

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

Форумный поиск ищет плохо.
Пользуйтесь гугловским.

5

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

Malcev
Нормально он ищет. И главное - удобней.

6

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

Ну и что он вам выдаст по слову "email"?

7

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

Зачем мне email, когда есть почт*, письм* ?

8

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

Вообще-то email - это искажённое e-mail. А уже по e-mail форумный поиск находит.

9

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

Если в названии темы или сообщении присутствует слово "email", то поиск должен их выдавать.
А преимущество гугла в том, что он сам за тебя додумывает, что ты ищешь.

10

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

Ага. И выдаст кучу ненужных мне тем из других разделов.
По email эта тема и находится.

11 (изменено: Malcev, 2016-12-05 21:46:20)

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

Чтобы не выдало с других разделов в гугле нужно искать "email ahk".

12

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

У ahk 3 раздела, а я ищу в конкретном.

13

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

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

Вообще-то email - это искажённое e-mail.

У меня другая информация:

Electronic mail has been most commonly called email or e-mail since around 1993,[5] but various variations of the spelling have been used:
    email is the most common form used online, and is required by IETF Requests for Comments (RFC) and working groups[6] and increasingly by style guides.[7][8] This spelling also appears in most dictionaries.[9][10][11][12][13][14][15]
    e-mail has long been the form that appears most frequently in edited, published American English and British English writing as reflected in the Corpus of Contemporary American English data,[16] but is falling out of favor in style guides.[8][17]

https://en.wikipedia.org/wiki/Email

14

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

OFF:
Ладно, строгого правила нет. Просто в наших краях оно в большей степени известно и укореннилось как "e-mail".

Что пишет ru.wikipedia.org.

Наиболее часто в кириллических текстах также используется «e-mail», то есть написание латиницей без транслитерации (визуальное восприятие других форм написания хуже). Но можно встретить и другие написания

Де-факто в официальных русскоязычных документах:
    в тексте (в смысле «способ связи») употребляют выражение «электронная почта»;
    в списке контактов используют префикс «e-mail» (E-mail: user@domain.com).

15

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

Text = "%A_ScriptDir%\Testas.txt"  ; Путь к файлу с телом письма
;~ Body = This is a message sent with blat.dll       ; Либо тело письма здесь

eMail=delivery@address.com                                  ; Адрес получателя
subj=-s "Test Blat application" 
user=mymail@yandex.ru                                         ; Логин. Для Яндекса - также и адрес отравителя в одном флаконе :)
pass=-pw somepassword                                       ; Пароль
server=-server smtp.yandex.ru:587                        ; Сервер:порт
x=-x "X-Header-Test: Can Blat do it? Yes it Can!"
debug=-debug -log blat.log -timestamp                  ; Параметры лог-файла      
Blat_String = %Text% -to %eMail% -f %user% -u %user% %pass% %subj% %server% %debug% %x%

RunWait, blat.exe %Blat_String%, , Hide UseErrorLevel ; 
Tooltip, %A_LastError%                                           ; Проверяем на отсутствие ошибок    
Sleep, 5000
ExitApp

Скажите, это рабочий вариант? У меня не сработал, хотя логин и пароль от Яндекса ввел верно. Конечно, хотелось бы отправлять с GMail, если конкретнее, то самому себе. Может, я неправильно установил Blat.exe, т.к. с официального сайта я загрузил лишь архив с файлом Blat.exe. В сценарии также пробовал заменить Blat.exe на D:\Desktop\full\Blat.exe, т.е. указав путь расположения скачанного файла.

Win10x64, AHK v1.1.25

16

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

Отправляйте через CDO.
http://forum.script-coding.com/viewtopi … 021#p86021

17

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

becauseim
Собственно, когда приводил ссылки, думал, что мысль таки до CDO дойдёт. И вообще blat большеват для таких вещей. Если уж брать консоль, то что-то поминиатюрней хотя бы.

18 (изменено: becauseim, 2016-12-06 11:30:42)

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

Malcev, можно ли добавить сервер Google для отправления? И, насколько понимаю, необходимо устанавливать в систему дополнительную библиотеку, где ее взять и как правильно использовать? Я переходил в оригинальную тему на английском языке, там приведенные ссылки были мертвы.

Win10x64, AHK v1.1.25

19

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

becauseim пишет:

Может, я неправильно установил Blat.exe

Blat не поддерживает протоколы SSL/TLS почтовых серверов.
Как советовали выше - отправляйте через CDO. Для gmail почты: 

pmsg 			:= ComObjCreate("CDO.Message")
pmsg.From 		:= """AHKUser"" <username@gmail.com>"
pmsg.To 		:= "username@gmail.com"
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 	:= "Message_Subject"

;You can use either Text or HTML body like
pmsg.TextBody 	:= "Message_Body"
;OR
;pmsg.HtmlBody := "<html><head><title>Hello</title></head><body><h2>Hello</h2><p>Testing!</p></body></html>"


sAttach   		:= "C:\test.txt" ; can add multiple attachments, the delimiter is |

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 := "username@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()

20

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

rowe, выходит ошибка. Сообщение не приходит.
http://puu.sh/sGgM9/ba92671d8d.png

Win10x64, AHK v1.1.25

21 (изменено: rowe, 2016-12-06 23:04:31)

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

Ветка форума. Проверил у себя на двух компьютерах,  отправляет без ошибок.

22

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

rowe, только что скопировал заполненные данные в скрипте в браузер и вошел в учетную запись Google. Это полный код или его часть?

Win10x64, AHK v1.1.25

23

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

Перед запуском скопированного сценария из 19-го поста редактирую строки: 2, 3, 23, 24.

Win10x64, AHK v1.1.25

24 (изменено: rowe, 2016-12-06 23:10:36)

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

Да, все верно. Если нет вложений  закомментируйте sAttach. Код полный.

25

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

rowe, закомментировал, не помогло. Может, не та версия AHK?

Win10x64, AHK v1.1.25