Найти - Пользователи
Полная версия: отправка смс
Начало » Mobile Python » отправка смс
1 2 3 4
komyak
SvartalF
komyak, не текст сообщения, а сам номер телефона. Вот это +7920**** у вас какого типа?
Это цифры, а если серьезно то мне кажется что encoding = “UCS2” указывает на всё сообщение. Или нужно для номера указывать кодировку отдельно? Что касается учебника, то большинство размером более мега, а такие тело читать не хочет:(
Ferroman
komyak
Проблема в том, что в этом коде очень много чего “не так” на элементарном уровне.
Если бы Вы еще и воспользовались тегом “code” это было бы заметнее. И трейсбек ошибки то же бы многое сказал.
1. Проблема с отступами.
2. Проблема с типом данных в котором представляется номер
3. try…except тут как заглушка, и не нужен. Потом будете писать “почему не отправляется а ошибки нет”
Все вместе говорит о том что про питон вы не прочитали даже элементарных вещей.
komyak
Ferroman
komyak
Проблема в том, что в этом коде очень много чего “не так” на элементарном уровне.Все вместе говорит о том что про питон вы не прочитали даже элементарных вещей.
Спасибо за критику:) Пошел читать…
igor.kaist
komyak
Это цифры, а если серьезно то мне кажется что encoding = “UCS2” указывает на всё сообщение. Или нужно для номера указывать кодировку отдельно? Что касается учебника, то большинство размером более мега, а такие тело читать не хочет:(
messaging.sms_send(u'+7920*******',u'telefon_vkluchen', encoding = "UCS2", callback =None)
А ведь черным по белому написано, что номер- это юникодная строка… Насчет учебника, то по симбиановскому апи учебник не такой уж и большой. И с самого начала нужно изучить зотябы основы питона
komyak
igor.kaist
komyak
Это цифры, а если серьезно то мне кажется что encoding = “UCS2” указывает на всё сообщение. Или нужно для номера указывать кодировку отдельно? Что касается учебника, то большинство размером более мега, а такие тело читать не хочет:(
messaging.sms_send(u'+7920*******',u'telefon_vkluchen', encoding = "UCS2", callback =None)
Спасибо:)
komyak
Sweetlana
Подскажите пожалуйста как можно отследить доставку смс, т.е. нужно создать лог, где будет фиксироваться отправка смс (с этим проблем нет) и время получения отчета о достаке.
import messaging

def ru(x):
return x.decode('utf-8')

messaging.sms_send((u“+79**********”), ru (“ПРОБА”))

Методом проб и ошибок… А Вы говорите что это плохо. Поставил по ошибке лишнюю скобку и приходит отчет о доставке. Сначала думал что глюк, но на другом теле тоже самое. НО приходят кракозябры, а при попытке поставить кодировку вообще не отправляет. У Вас есть опыт, посмотрите как можно исправить.
igor.kaist
Где это ты лишнюю скобку поставил? Просто так ее поставить невозможно. Ты не привык еще вчитываться в ошибки которые выдает питон? Или хотя бы нам показывать :)
Насчет отчета, в принципе я понял в чем проблема.. Ради бога, глянь в апи, там написано, какие еще аргументы принимает функция отправки сообщений :)
igor.kaist
Вообщем чтоб тебя не мучать, вот код… отправляется и приходит нормально. И пришел к этому не методом научного тыка, который ты восхваляешь, а знаниями, что такое юникод, кодировки и чтением symbian api
import sys
sys.setdefaultencoding('utf-8')

from messaging import sms_send
sms_send('+7904*******','Как дела',encoding='UCS2',name='bla bla bla')
По поводу отчета, вероятно это случайность, ведь они зависят от сотовой компании (в моей вообще не работают :)
Вот тебе отрывок из апи, если лень самому искать:
sms_send(number, msg, )
Sends an SMS message with body text msg4 (Unicode)to telephone number number (string).
The optional parameter encoding is used to de ne encoding in the message. The parameter values
can be ‘7bit’, ‘8bit’ or ‘UCS2’.
The optional parameter callback is invoked with the current status of the send operation as param-
eter. The possible states are data items in the module messaging. Invoking another send while a
previous send request is ongoing will result in RuntimeError being raised.
If the callback is not given, the sms send function will block until the message in the queue is
either deleted or the sending has failed5.
The optional parameter name will be shown in the sent item message entry as recipient's name
after successfully sending message to number . If this parameter is not speci ed, then the recipient's
phone number will be shown in the sent item message entry.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB