Тема: AHK: Отправка логов
Здравствуйте, как можно сделать, чтоб программа отправляла из EditBox сообщение на почту.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте, как можно сделать, чтоб программа отправляла из EditBox сообщение на почту.
По-моему не умеет AutoHotkey напрямую работать с почтой. Ищите какие-нибудь программы-посредники, поддерживающие автоматизацию. На форуме https://autohotkey.com много чего есть, наверное там уже поднимался такой вопрос.
AHK умет работать с COM-объектами, например, с CDO.Message.
teadrinker, спасибо за ориентир, буду искать документацию касательно данных функций.
По-моему не умеет AutoHotkey напрямую работать с почтой.
Если чуток подзапариться, то умеет.
http://forum.script-coding.com/viewtopic.php?id=16339
yakmuve, проще написать скрипт на php и уже к нему обращаясь отправлять почту, например:
<?php
$to = $_GET['mail'];
$headers = array(
'From' => 'Мой_Софт<soft@my.ru>',
'X-Mailer' => 'PHP/' . phpversion()
);
$subject = $_GET['t'];
$message = $_GET['m'];
mail($to,$subject,$message,$headers);
?>
Ну и в Ahk отправляем запрос например на F2:
global WinHttpRequestOption_EnableRedirects := 6
global WinHttpRequestOption_MaxAutomaticRedirects := 14
global WinHttpRequestOption_EnableHttpsToHttpRedirects := 12
global oHttpRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
oHttpRequest.Option(WinHttpRequestOption_EnableRedirects) := -1
oHttpRequest.Option(WinHttpRequestOption_EnableHttpsToHttpRedirects) := -1
oHttpRequest.Option(WinHttpRequestOption_MaxAutomaticRedirects) := 20
global HttpObj := ComObjCreate("WinHttp.WinHttpRequest.5.1")
global oHttpRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
F2::
SendMail("Тестовая тема","Тестовое сообщение","mmm@yandex.ru")
Return
SendMail(subject,message,mail ) {
try
{
oHtmlDoc := documentFromURL("http://сайт/mail.php?t=" . subject . "&m=" . message . "&mail=" . mail)
return,"Письмо отправлено"
}
catch e {
return,"Ошибка сервера " . e.message
}
}
GetHTML(ByRef sHTMLCode, ByRef sBaseURL) {
oDoc := ComObjCreate("htmlfile")
oDoc.open()
oDoc.write("<base href=""" . sBaseURL . """>")
oDoc.close()
oDoc.body.innerHTML := sHTMLCode
return oDoc
}
documentFromURL(ByRef sURL) {
oHttpRequest.open("GET", sURL, false)
oHttpRequest.SetRequestHeader("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)")
oHttpRequest.SetRequestHeader("Referer", sURL)
oHttpRequest.SetRequestHeader("Content-Type", "text/html")
oHttpRequest.send()
return GetHTML(oHttpRequest.responseText, sURL)
}
andrey.a.polyakov.b2c, правильно я понимаю, что решение предполагает наличие своего сайта либо локального сервера?
teadrinker, да все верно. Можно любой хостинг с php.
Здравствуйте, как можно сделать, чтоб программа отправляла из EditBox сообщение на почту.
pmsg := ComObjCreate("CDO.Message")
pmsg.From := """AHKUser"" <ahk.com>"
pmsg.To := "ahk.com"
pmsg.BCC := "" ; Blind Carbon Copy, Invisable for all, same syntax as CC
;pmsg.CC := "ahk, Other-ahk"
;pmsg.CC := "Somebody@somewhere.com, Other-somebody@somewhere.com"
pmsg.Subject := "Name."
;You can use either Text or HTML body like
pmsg.TextBody := "Name"
;OR
;pmsg.HtmlBody := "<html><head><title>Hello</title></head><body><h2>Hello</h2><p>Testing!</p></body></html>"
fields.sendusername := "lolin@gmail.com"
fields.sendpassword := "passwod"
sAttach := "C:\Users\Home\Desktop\test.jpg" ; 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 := "Somebody@somewhere.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)
В настрайках аккаунта нужно разрешить доступ для ненадежных приложений. https://myaccount.google.com/lesssecureapps. Эта опция недоступна в аккаунтах с двухэтапной аутентификацией. Для gmail.com.
pmsg.HtmlBodyPart.Charset := "utf-8"
Если в сообщении кириллица не правильно отображается.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться