Страница 14 из 21

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

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

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

Добавлено: 11 дек 2021, 14:18
pepelxl
С каких пор телега научилась принимать не английские символы.?

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

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

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

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

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

Добавлено: 11 дек 2021, 16:10
Sertik
Скорее всего нужно доработать вот этот перекодировщик:

# 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);
}

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

Добавлено: 11 дек 2021, 20:06
Sertik
Жаль, но пока не получается. Подождём ... может кого осенит ... :-):

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

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

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

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

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

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

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

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

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