Разборка SMS и отправка на e-mail

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Вот ведь вредный какой ... Вы же лучше знаете эти кодировки/перекодировки. Я в них не силён.
Можете ответить во что перекодировать содержимое переменной Вашего скрипта $emailBody чтобы можно было послать её в Телеграмм ?
Если у Вас $emailBody уже в utf-8 зачем её перекодировать - ведь Телеграмм должен спокойно кушать utf-8 формат ?


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
pepelxl
Сообщения: 161
Зарегистрирован: 23 июл 2013, 18:47

С каких пор телега научилась принимать не английские символы.?


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Блин, ну так они же у Вас вроде как в UTF-8 - какая ей разница какие символы английские или национальные ?
Не понимаю чего Телеграмм хочет ...
Ещё раз - если можно без пустых дискуссий - как преобразовать вывод на почту в вывод для Телеграмм ?


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
andlommy
Сообщения: 6
Зарегистрирован: 09 дек 2021, 11:39

Надо посылать сообщение как в боди запроса а не в УРЛ-е, иначе надо делать htmlencode.
Не знаю, умеет ли апи телеграма получать параметры запроса из боди, надо смотреть.
Я для своего бота делаю так:
/tool fetch url="$functionurl$token" http-data="{\"from\":\"$bodyFrom\",\n\"messagedate\":\"$bodyDate\",\n\"message\":\"$body\"}" duration=120 output=none
Но мой бот умеет получать JSON в теле запроса...


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Скорее всего нужно доработать вот этот перекодировщик:

# Function of converting CP1251 to UTF8 by Sertik
# viewtopic.php?p=81457#p81457

:global FuncCP1251toUTF8 do={
:local cp1251 [:toarray {"\20";"\01";"\02";"\03";"\04";"\05";"\06";"\07";"\08";"\09";"\0A";"\0B";"\0C";"\0D";"\0E";"\0F"; \
"\10";"\11";"\12";"\13";"\14";"\15";"\16";"\17";"\18";"\19";"\1A";"\1B";"\1C";"\1D";"\1E";"\1F"; \
"\21";"\22";"\23";"\24";"\25";"\26";"\27";"\28";"\29";"\2A";"\2B";"\2C";"\2D";"\2E";"\2F";"\3A"; \
"\3B";"\3C";"\3D";"\3E";"\3F";"\40";"\5B";"\5C";"\5D";"\5E";"\5F";"\60";"\7B";"\7C";"\7D";"\7E"; \
"\C0";"\C1";"\C2";"\C3";"\C4";"\C5";"\C7";"\C7";"\C8";"\C9";"\CA";"\CB";"\CC";"\CD";"\CE";"\CF"; \
"\D0";"\D1";"\D2";"\D3";"\D4";"\D5";"\D6";"\D7";"\D8";"\D9";"\DA";"\DB";"\DC";"\DD";"\DE";"\DF"; \
"\E0";"\E1";"\E2";"\E3";"\E4";"\E5";"\E6";"\E7";"\E8";"\E9";"\EA";"\EB";"\EC";"\ED";"\EE";"\EF"; \
"\F0";"\F1";"\F2";"\F3";"\F4";"\F5";"\F6";"\F7";"\F8";"\F9";"\FA";"\FB";"\FC";"\FD";"\FE";"\FF"; \
"\A8";"\B8";"\B9"}];
:local utf8 [:toarray {"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"000A";"0020";"0020";"000D";"0020";"0020"; \
"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020"; \
"0021";"0022";"0023";"0024";"0025";"0026";"0027";"0028";"0029";"002A";"002B";"002C";"002D";"002E";"002F";"003A"; \
"003B";"003C";"003D";"003E";"003F";"0040";"005B";"005C";"005D";"005E";"005F";"0060";"007B";"007C";"007D";"007E"; \
"D090";"D091";"D092";"D093";"D094";"D095";"D096";"D097";"D098";"D099";"D09A";"D09B";"D09C";"D09D";"D09E";"D09F"; \
"D0A0";"D0A1";"D0A2";"D0A3";"D0A4";"D0A5";"D0A6";"D0A7";"D0A8";"D0A9";"D0AA";"D0AB";"D0AC";"D0AD";"D0AE";"D0AF"; \
"D0B0";"D0B1";"D0B2";"D0B3";"D0B4";"D0B5";"D0B6";"D0B7";"D0B8";"D0B9";"D0BA";"D0BB";"D0BC";"D0BD";"D0BE";"D0BF"; \
"D180";"D181";"D182";"D183";"D184";"D185";"D186";"D187";"D188";"D189";"D18A";"D18B";"D18C";"D18D";"D18E";"D18F"; \
"D001";"D191";"2116"}];
:local convStr "";
:local code "";
:for i from=0 to=([:len $1]-1) do={
:local symb [:pick $1 $i ($i+1)];
:local idx [:find $cp1251 $symb];
:local key ($utf8->$idx);
:if ([:len $key] != 0) do={
:set $code ("%$[:pick ($key) 0 2]%$[:pick ($key) 2 4]");
:if ([pick $code 0 3] = "%00") do={ :set $code ([:pick $code 3 6]); }
} else={ :set code ($symb); };
:set $convStr ($convStr.$code);
}
:return ($convStr);
}


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Жаль, но пока не получается. Подождём ... может кого осенит ... :-):


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
VitalArt
Сообщения: 2
Зарегистрирован: 13 дек 2021, 13:54

После обновления на 7.1 (релиз) на SXT LTE6 скрипты перестали корректно функционировать. В логах пусто; судя по счетчикам, до functionPDU и functionMTI исполнение скрипта не доходит. Попробовал вручную потыкаться в at-chat, вроде отвечает корректно. Прошивка модема R11e-LTE6_V029. Единственное, что заметил - в Environment в переменной extractSMSModem после каждого исполнения сидит очень длинная строка. Я в скриптинге не особо разбираюсь, так и не понял, то ли это промежуточный результат интерпретации, то ли стек-трейс исключения. На всякий случай приложил: https://pastebin.com/NAf4ydKr

Что посоветуете?


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Не понятно что за формат у сообщений, уходящих на почту в скрипте pepelx. Написано, что utf8, но не один перекодировщик онлайн не может перекодировать эти сообщения ни во что смысловое.
Жаль, что автор не хочет помочь - ведь знает как сделать ...


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
pepelxl
Сообщения: 161
Зарегистрирован: 23 июл 2013, 18:47

То как будет парсится почтовым клиентом содержимое письма определяется mime, в данном случаи Content-Type и charset. Если вам нужна телега, то чем не устраивает решение с ботом выложенное выше? Если хотите разобраться в кодировках, то ставите, например, notepad++ пишите любой текст на русском , увидите в правом нижнем углу программа выставила кодировку utf8. Сохраняете файл и открываете его в любом hex редакторе(notepad++ так же имеет hex режим). И красноглазите пока не дойдёт раз и на всю жизнь как оно работает.


pepelxl
Сообщения: 161
Зарегистрирован: 23 июл 2013, 18:47

Да и если быть совсем честным, то charset надо ставить в ucs2, но три из семи почтовых клиентов тестируемых мной запнулись на этой кодировке.


Ответить