Отправить смс через Python

Я использую следующий код для подключения к телефону, чтобы отправить SMS-сообщение:

import serial
import time

phone = serial.Serial()
phone.baudrate = 38400
phone.bytesize = 8
phone.stopbits = 1
phone.xonxoff = 0
phone.rtscts = 0
phone.timeout = 0
phone.port = 3  #try different ports here, if this doesn't work.
phone.parity=serial.PARITY_NONE
phone.open()
print phone.portstr


recipient = "+929409778"
message = "We did it!"
print ("I did come after it")
try:
    time.sleep(0.5)
    phone.write(b'ATZ\r')
    time.sleep(0.5)




    phone.write(b'AT+CMGF=1\r')
    time.sleep(0.5)
    phone.write(b'AT+CMGS="' + recipient.encode() + b'"\r')
    time.sleep(0.5)
    phone.write(message.encode() + b"\r")

    print (message)
    time.sleep(0.5)
    phone.write(bytes([26]))

    time.sleep(0.5)
    phone.readall()


finally:
    phone.close()

Я могу подключить телефон, но не могу отправить сообщение. Это не дает мне ошибку, поэтому я не уверен, с чего начать отладку.

Что-то не так с моим кодом, которого я не вижу?

1 ответ

Попробуйте очистить поток телефона с помощью phone.flush() и посмотрите, будет ли он отправлен.

Другие вопросы по тегам