Дмитрий пишет: А пароль от почтового ящика, с которого идет отправка, разве не надо прописывать? Что-то я не нашел его в примере.
Большинство публичных SMTP серверов не требуют пароля.
Если требуется с паролем, можно так:
Код
gSPath = getScriptPath()
package.cpath = gSPath .."\\?.dll;" .. package.cpath
package.path = gSPath .."\\?.lua;" .. gSPath .. "\\?.luac;" ..package.path
local smtp = require("socket.smtp")
Settings =
{
host = "smtp.TEST.ru",
port = 25,
from = "TEST@TEST.ru",
to = "TEST@TEST.ru",
subject = "Qlua notification",
cc = "TEST@TEST.ru",
user = "TEST",
password = "123",
rcpt = {
"<TEST@TEST.ru>"
}
}
function smtp_send(settings, msg)
local mesgt =
{
headers =
{
to = settings.to,
cc = settings.cc,
subject = settings.subject or "Qlua Notification",
["content-type"] = 'text/plain; charset="windows-1251"'
},
body = msg
}
r, e = smtp.send{
from = settings.from,
rcpt = settings.rcpt,
source = smtp.message(mesgt),
server = settings.host,
port = settings.port,
user = settings.user,
password = settings.password
}
end
smtp_send(Settings, "TEST")
Пользователь
Сообщений: Регистрация: 23.01.2015
29.05.2015 00:30:04
Цитата
sam063rus пишет: первый толковый пример с LuaSocket.
ага незачто
Цитата
sam063rus пишет: ещё бы смс также просто отправлять было))
А это просто. Только это делается через СМС провайдеров, которые иногда могут быть платными. как правило API таких провайдеров довольно простое, в виде http запросов, разобраться можно.
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 00:32:01
Цитата
Sergey Gorokhov пишет: Только это делается через СМС провайдеров, которые иногда могут быть платными.
а может у вас там где-нибудь завалялся примерчик с бесплатным смс-провайдером? ))))))))
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 00:32:55
тогда и брокерам за смс-уведомление платить непришлось бы. всё - одно - экономия! ))))))))))
Sergey Gorokhov пишет: Только это делается через СМС провайдеров, которые иногда могут быть платными.
а может у вас там где-нибудь завалялся примерчик с бесплатным смс-провайдером? ))))))))
честно говоря, не совсем понял. Автор пишет:
Цитата
Итак, что для этого нам понадобится:
Сервер рассылки СМС сообщений
GSM модем или мобильный телефон с возможностью подключения к компьютеру.
1. какой сервер? платный/бесплатный?? 2. для чего??? ------------------------------------------------------------- честно говоря, ожидал какой-нибудь анонимный односторонний сервер без авторизации: как говорится, "пульнул смс и забыл". Без всяких телефонов, просто зная ip сервера и пару функций из его API.
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 05:16:32
но, как говорится, в любом случае, за ссылку - спасибо. Посмотрю на досуге.
Michael Bulychev
Гость
29.05.2015 05:17:56
Сервер - это программа, которая рассылает смс через модем или телефон, абсолютно бесплатная.
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 05:19:43
Цитата
Michael Bulychev пишет: Сервер - это программа, которая рассылает смс через модем или телефон, абсолютно бесплатная.
спасибо, это я и так знаю. насчёт "бесплатная" - далеко - нефакт. В каждом конкретном случае - по-разному. Так и штатное API МегаФона можно было бы использовать.
теперь понятно зачем телефон: в общем, как я понял: берёшь телефон, платишь за него, подключаешь к компу, ставишь кучу непонятного софта и отправляешь куда-то за свой счёт с этого номера смс. Так???
Michael Bulychev
Гость
29.05.2015 05:57:57
Вместо телефона отлично работает вот такая штука
А насчет абсолютно бесплатных сервисов у меня есть большие сомнения.
s_mike@rambler.ru пишет: Сергей, при помощи этой библиотеки можно общаться далеко не со всеми почтовыми серверами.
Значит нужно выбрать тот сервер с которым она работает
Серверов, не нуждающихся, например, в TLS/SSL, уже мало и количество их уменьшается. Обычно это древние сервера. Дописывать библиотеку для поддержки новых стандартов, как я понимаю, никто не собирается.
Пасхалочка для Алексея Иванникова:
Пользователь
Сообщений: Регистрация: 23.01.2015
29.05.2015 09:36:04
Цитата
sam063rus пишет: теперь понятно зачем телефон: в общем, как я понял: берёшь телефон, платишь за него, подключаешь к компу, ставишь кучу непонятного софта и отправляешь куда-то за свой счёт с этого номера смс. Так???
Да именно так. Халявы не будет. И это уже вопрос не к нам а к сотовым операторам. Однако, если текст СМС не важен, а имеет значение сам факт его появления, вы можете схитрить. Тот же mail предоставляет услугу оповещения по СМС о письмах, совершенно бесплатно. Но в смс будет указано только от кого оно пришло, без какого либо текста.
sam063rus пишет: теперь понятно зачем телефон: в общем, как я понял: берёшь телефон, платишь за него, подключаешь к компу, ставишь кучу непонятного софта и отправляешь куда-то за свой счёт с этого номера смс. Так???
Да именно так. Халявы не будет. И это уже вопрос не к нам а к сотовым операторам. Однако, если текст СМС не важен, а имеет значение сам факт его появления, вы можете схитрить. Тот же mail предоставляет услугу оповещения по СМС о письмах, совершенно бесплатно. Но в смс будет указано только от кого оно пришло, без какого либо текста.
Так как текст смс менять нельзя а можно только адрес отправителя, идея в том что можно отправлять почту с разных адресов в зависимости от ситуации. И в самом адресе указать причину, типа BUY@anydomen.ru или SELL@anydomen.ru
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
29.05.2015 09:55:32
Цитата
sam063rus пишет: теперь понятно зачем телефон: в общем, как я понял: берёшь телефон, платишь за него, подключаешь к компу, ставишь кучу непонятного софта и отправляешь куда-то за свой счёт с этого номера смс.
Тут ведь вопрос ещё в надёжности доставки самого сообщения: доставка e-mail или СМС через интернет менее надёжна, чем GSM.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 14:09:42
Цитата
Старатель пишет: доставка e-mail или СМС через интернет менее надёжна, чем GSM.
тут ещё можно поспорить. )))
в общем, чувствю самый оптимальный и бесплатный вариант - e-mail. А на компьютере - поставить, что-то вроде Mailru.Agent или Outlook - и тогда оповещения не потеряются и будут вовремя и на виду.
--------------------------------------------
Кстати, в качестве бесплатной альтернативы СМС, думаю, стоит рассмотреть старую добрую "аську" (ICQ) - надо только сделать под неё толковое API
Michael Bulychev
Гость
29.05.2015 14:24:11
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 14:28:09
за ссылку, спасибо
в общем, задача сводится к тривиальной: отправка ICQ-сообщений по интернет с помощью соответствующего бесплатного API. Вот вам и аналог смс-оповещений))))
Пользователь
Сообщений: Регистрация: 31.01.2015
29.05.2015 14:30:58
Цитата
sam063rus пишет: в общем, задача сводится к тривиальной: отправка ICQ-сообщений по интернет с помощью соответствующего бесплатного API. Вот вам и аналог смс-оповещений))))
А если интернет на машине с терминалом отвалился? Как узнаете об этом прискорбном факте? Наверное, хотя бы на такие случаи стоит прицепить еще и телефон или модем для отправки смс.
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 14:37:38
Цитата
Дмитрий пишет: А если интернет на машине с терминалом отвалился?
то и торговля отвалится.
К тому же, можно сделать, что-то watchdog-таймера на основе очерёдности (по времени) прихода "асек". так называемая "побудка" - если вовремя не пришло сообщение - значит "бЯда! полный ахтунг на все 4 колеса"
Пользователь
Сообщений: Регистрация: 30.01.2015
30.05.2015 09:56:13
Расскажу как я это делаю.
------------------------------ Объясняю упрощенно: ------------------------------------------ Основная идея в том, что Вы сажаете скрипт клиент-сервера с динамическим адресом на КВИК на компе дома. и скрипт клиент-сервера - на смартфон или планшет или нотебук --------------------- В результате КВИК сообщит Вам о любых событиях со скоростью передачи информации по интернет. -------------------------- Вы можете тоже послать команду КВИКУ. Все работает быстро и практически бесплатно. ----------------------
Пользователь
Сообщений: Регистрация: 30.01.2015
30.05.2015 09:57:49
от мобильных торговых систем такой способ отличается тем, что торгует мощная система QUIK а не ее обрезанный клон на смартфон Загрузка трафика для смартфона нулевая
есть OnDisconnect() функция обратного вызова. Понаписали то... Блин, мне бы и е-мейла хватило, но библиотека забугорная, без русского хелпу. Мне, как непрограммеру долго придётся копаться. Спасибо за примеры!
Дмитрий пишет: А пароль от почтового ящика, с которого идет отправка, разве не надо прописывать? Что-то я не нашел его в примере.
Большинство публичных SMTP серверов не требуют пароля.
Если требуется с паролем, можно так:
Код
gSPath = getScriptPath()
............................................................
end
smtp_send(Settings, "TEST")
День добрый! Запустил ваш код. Получил
no field package.preload['socket'] no file '\socket.lua' no file '\socket.luac' no file '.\socket.lua' no file '\init.lua' no file '\socket.dll' no file '.\socket.dll' no file '\loadall.dll'
luasoсket предварительно был загружен. Некоторых из указанных файлов в поставке нет. Как быть?
Дмитрий пишет: А пароль от почтового ящика, с которого идет отправка, разве не надо прописывать? Что-то я не нашел его в примере.
Большинство публичных SMTP серверов не требуют пароля.
Если требуется с паролем, можно так:
Код
gSPath = getScriptPath()
............................................................
end
smtp_send(Settings, "TEST")
День добрый! Запустил ваш код. Получил
no field package.preload['socket'] no file '\socket.lua' no file '\socket.luac' no file '.\socket.lua' no file '\init.lua' no file '\socket.dll' no file '.\socket.dll' no file '\loadall.dll'
luasoсket предварительно был загружен. Некоторых из указанных файлов в поставке нет. Как быть?
Здравствуйте, Ошибка означает что скрипт не может найти модуль socket. Он должен быть там же где и скрипт.
Пользователь
Сообщений: Регистрация: 03.02.2015
03.09.2015 18:10:43
В том и закавыка. В поставке люасокет небыло socket.dll. Нашел в сети но похоже то что нужно. Простите за безграмотность - скажите где его взять можно?
Пользователь
Сообщений: Регистрация: 29.04.2015
04.09.2015 00:02:45
Цитата
s_mike@rambler.ru пишет: Серверов, не нуждающихся, например, в TLS/SSL, уже мало и количество их уменьшается. Обычно это древние сервера. Дописывать библиотеку для поддержки новых стандартов, как я понимаю, никто не собирается.
Главное не отчаиваться и слишком быстро не сдаваться. Качаем модуль LuaSec: Проект: Бинарники можно взять тут: . Нужны 2 файла - ssl.dll и ssl.lua. Использует библиотеки OpenSSL libeay32.dll и ssleay32.dll. Скачать, если нет, и не забыть обеспечить к ним доступ - через окружение (PATH) или можно кинуть в папку с QUIK.
function sslCreate()
local conn =
{
sock = socket.tcp(),
connect = function(self, host, port)
local r, e = self.sock:connect(host, port)
if not r then return r, e end
self.sock = ssl.wrap(self.sock, {mode = 'client', protocol = 'tlsv1'})
return self.sock:dohandshake()
end
}
local fnIdx = function(t, key)
return function(self, ...)
return self.sock[key](self.sock, ...)
end
end
return setmetatable(conn, {__index = fnIdx})
end
... и отправляем:
Код
socket.smtp.send
{
from = ...,
rcpt = ...,
source = ...,
server = "smtp.mail.ru",
port = 465,
user = "user",
password = "password",
create = sslCreate
}
И еще вкратце, что это за безобразие такое. Вся соль в возможности smtp.send() luasocket'а (см. доки) задать свою функцию создания сокета для отправки сообщения (create = sslCreate), который по умолчанию делается библиотекой просто как socket.tcp(). Мы делаем то же самое, но только обертываем его в подмененном методе connect, где нужно "договориться" с сервером по протоколу SSL. Всё. Еще в этой функции код для доступа к остальным методам сокета, ведь далее luasocket будет работать с ним как со стандартным.
С mail.ru, например, работает без проблем.
Пользователь
Сообщений: Регистрация: 30.01.2015
04.09.2015 07:58:53
Никто не обратил внимание на мое решение, а напрасно. Зачем отсылать что-то на сторонний сервер, почему не поставить этот сервер на своем компе и забирать эти сообщения у своего сервера? Быстро, безопасно и бесплатно. Подумайте на досуге.
Пользователь
Сообщений: Регистрация: 02.07.2015
04.09.2015 08:23:15
Цитата
Николай Камынин пишет: Никто не обратил внимание на мое решение, а напрасно. Зачем отсылать что-то на сторонний сервер, почему не поставить этот сервер на своем компе и забирать эти сообщения у своего сервера? Быстро, безопасно и бесплатно. Подумайте на досуге.
Потому что нее у всех дома белый IP-адрес, а выделять за деньги немногие хотят. Как вариант выбирать подключение к стороннему stun-серверу и т.п. Но это слишком большой геморрой, чтобы рядовой трейдер морочился с этим.
В развитие идеи могу подсказать поднять домашний сервер на IPv6. например через teredo.
Пользователь
Сообщений: Регистрация: 30.03.2015
02.11.2015 10:34:59
где взять luasocket? ссылка на оф сайте недоступна
Пользователь
Сообщений: Регистрация: 30.03.2015
02.11.2015 10:39:47
или можно как то выкрутится через использование luacom?
Пользователь
Сообщений: Регистрация: 29.04.2015
08.12.2015 21:29:26
Цитата
Валентин пишет: где взять luasocket? ссылка на оф сайте недоступна
Пользователь
Сообщений: Регистрация: 31.01.2015
09.12.2015 03:16:48
"Mail на SMS" Стоимость услуги в МТС =0руб Еще в 2008 подключил. Компьютер может СМСки слать на телефон. 7912ххххххх@sms.ural.mts.ru (для некоторых регионов отличается)
МТС Мегафон
В Autoit уже готовый пример есть.
Пользователь
Сообщений: Регистрация: 30.03.2015
09.12.2015 04:44:44
пробовал мучить луасокет для отправки почтовых сообщений. в итоге самый простой вариант - консольная программа для отправки почты (cmail, blat) и команда os.execute
Пользователь
Сообщений: Регистрация: 02.02.2015
миру мир!
14.12.2015 22:45:20
sms.ru 5 СМС в сутки - бесплатно. Далее 25 коп/СМС Вполне себе вариант.
Пользователь
Сообщений: Регистрация: 31.01.2015
30.12.2015 14:31:14
фаил.vbs - может голосом произносить.
Код
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak "trade done"
Пользователь
Сообщений: Регистрация: 02.02.2015
миру мир!
09.01.2016 22:31:15
Пример говорилки на Lua для QUIK
Пользователь
Сообщений: Регистрация: 24.03.2016
24.03.2016 15:00:11
Всем привет!
Если кто ещё думает о получении уведомлений от квика о сделках, то вот моё решение - это мессенджер Телеграм. По-моему, удобно - клиент есть для всех мобильных платформ, бесплатно. В общем сплошные плюсы.
Принцип такой:
Создаем бота в телеграм:
В квике запускаем lua-скрипт, который от имени бота шлёт сообщения о заявках и/или сделках, на указанный в настройках скрипта аккаунта в Телеграм.
Вот ссылка на то, как я это реализовал для себя:
Пользователь
Сообщений: Регистрация: 31.03.2016
05.10.2016 15:32:38
Есть хорошая обёртка для отправки писем lua-sendmail: Ей потребуется luasec, который в уже собранном виде можно взять из из третьего поста вот такого топика: Там несколько скомпилированных ssl.dll - для Lua 5.1, 5.2 и 5.3. Файлы libeay32.dll и ssleay32.dll пришлось на одном компе ( WinXP ) положить в C:\Program Files\Lua\5.1\clibs и заработало, а на других компах ( Win8, Win10 ) удалось только копированием в папку с Quik'ом, иначе прилетала такая ошибка: "error loading module 'ssl.core' from file 'C:/Program Files (x86)/Lua/5.1/clibs/ssl.dll': Не найден указанный модуль"
С помощью sendmail можно слать письма и с серверов, требующих ssl/tls ( порт по-умолчанию 465 ) Вот примеры для mail.ru и gmail.com:
Код
local sendmail = require("sendmail")
local result,error = sendmail{
from = 'from@mail.ru',
to = 'to@some.domen',
server = {
ssl = {
protocol = "sslv3",
verify = {"none"},
options = {"all", "no_sslv2"},
},
address = 'smtp.mail.ru';
user = 'from@mail.ru';
password = '***';
},
message = { subject = "Тема", text = "текст", },
}
local result,error = sendmail{
from = 'from@gmail.com',
to = 'to@some.domen',
server = {
ssl = {
protocol = "tlsv1",
verify = {"none"},
options = {"all" },
},
address = 'smtp.gmail.com';
user = 'from@gmail.com';
password = '***';
},
message = {
subject = "Тема",
text = [[
Some
Text
]],
file = 'C:\some.file',
}
}