Отправка MMS через шлюз Clickatell
Я пытаюсь отправить MMS на свой телефон через Clickatell. Я могу отправить обычное SMS, но для MMS я получаю код возврата 200 и идентификатор, но когда идентификатор ищется на их сайте, я просто получаю Статус 9, что при доставке моего сообщения произошла ошибка маршрутизации.
Я создаю файл.mms с (исправленной) версией python-сообщения:
from messaging.mms.message import MMSMessage, MMSMessagePage
mms = MMSMessage()
mms.headers['To'] = '+1<my phone number>/TYPE=PLMN'
mms.headers['Message-Type'] = 'm-send-req'
mms.headers['Subject'] = 'Test python-messaging.mms'
slide1 = MMSMessagePage()
slide1.add_image('/home/<me>/Pictures/test.jpg')
mms.add_page(slide1)
mms.to_file('test.mms')
Я тогда положил test.mms
файл в моем общедоступном Dropbox и сделал HTTP-вызов следующим образом:
r = requests.get('https://api.clickatell.com/mms/ind_push', params={
'user': <username>,
'password': <password>,
'api_id': <api_id>,
'to': +1<my phone number>,
'mms_subject': 'test',
'mms_from': 'testname',
'mms_class': 80,
'mms_expire': 10000,
'mms_url': <public Dropbox link to the .mms file>
})
Я тогда получил это:
>>> r.status_code
200
>>> r.text
'ID: <a valid ID>'
Но когда я смотрю этот идентификатор на веб-сайте Clickatell, я получаю это: MMS-статус 9 - Ошибка маршрутизации.
Я делаю что-то неправильно? Я чувствую, что это странно, что я должен включить to
поле в файле MMS и в API Clickatell, но я не вижу ничего, что я делаю совершенно неправильно.
1 ответ
Мобильные операторы, как правило, запрещают третьим сторонам отправлять MMS-сообщения получателям в их мобильных сетях, когда MMS-сообщение не было сгенерировано абонентом в мобильной сети.
Что вы можете сделать, это отправить SMS со ссылкой на изображение, которое пользователь может щелкнуть, чтобы открыть через веб-браузер своего мобильного телефона.