1

我正在尝试通过 Clickatell 向我的手机发送彩信。我可以发送纯 SMS,但对于 MMS,我得到一个 200 返回码和一个 ID,但是当在他们的网站上查找 ID 时,我只得到状态 9,发送我的消息时出现路由错误。

我正在使用(已修补)版本的 python-messaging 构建 .mms 文件:

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 的网站上查看该 ID 时,我得到了这个:MMS Status 9 - Routing Error

难道我做错了什么?我觉得很奇怪,我必须to在 MMS 文件和 Clickatell 的 API 中都包含该字段,但我看不到我做的任何事情完全不正确。

4

1 回答 1

2

当 MMS 消息不是由移动网络上的订户生成时,移动运营商倾向于阻止第三方向其移动网络上的接收者提交 MMS 消息。

您可能想要做的是发送一条带有图片链接的短信,用户可以点击该图片通过他们的手机网络浏览器打开该图片。

于 2014-08-16T12:18:34.570 回答