我有一个目录,其中包含 50 个图像文件 (.jpg),每个文件小于 300kb。此文件应作为 MMS 附件并使用 GSM/GPRS 调制解调器从 Linux 计算机发送。我需要弄清楚如何打包彩信并能够将其发送到手机或从 Linux 计算机发送电子邮件。另请注意,我希望能够使用我的 GSM/GPRS 调制解调器发送 MMS 消息 - 而不是通过 clickatell 或其他一些网络服务。我也不想使用完整的 MMSC 网关,例如 NowSMS(无论如何都是 Windows)或 MBuni。请帮助我找到任何可以通过命令行工作的 Linux 工具/任何编译源代码/任何易于使用的方法。
提前感谢您的专业知识
你为什么要这样做?这是一个过于复杂的过程,并且有可用的 MMSC 网关是有原因的。您只需使用 GPRS 部分来建立 PPP 连接,然后其余部分通过 IP 进行。
我强烈建议您为此使用网关,并且不要手动执行此操作。
为了建立 PPP 连接:
AT+CGDCONT?
这应该响应您所在的上下文。这意味着您已准备好附加/连接。
AT+CGATT=1
(连接调制解调器)
AT+CGDATA=?
(查看数据模式是什么)
AT+CGACT=1
(激活连接)
现在您使用的是 PPP,然后您可以使用您的提供商使用的任何调制解调器进行通话。它可以是从直接 HTTP 到 MMSE 协议(protocol)的任何东西。
例如,这里是一个完整的 HTTP 脚本。首先,我们需要设置调制解调器和连接信息。所有这些命令都应该从调制解调器得到 OK
的响应。
AT+CMMSINIT # Initialize the MMS method
AT+CMMSCURL="some.url.com" # the MMS center URL
AT+CMMSCID=1 # Set bearer
AT+CMMSPROTO="1.1.1.1",8080 # MMS Proxy information
AT+SAPBR=3,1,"Contype","GPRS" # How you are sending
AT+SAPBR=3,1,"APN","foobar" # Set the APN
AT+SAPBR=1,1 # Activate the bearer context
接下来,我们准备消息:
> AT+CMMSEDIT=1 # Enter edit mode
OK
> AT+CMMSDOWN="PIC",54321,30000 # Download a pic that is 54321 bytes
# and set the latency
# for the download to 30000 ms
CONNECT # This means, ready to receive data
# so send your file
OK # Data received
> AT+CMMSRECP="123456789" # Set the recipient
OK
> AT+CMMSVIEW # View your message
(your message)
OK
> AT+CMMSSEND # Send the message
OK # Message sent
> AT+CMMSEDIT=0 # Exit edit mode, and clear the buffer
OK
当然,这特定于我使用的调制解调器。您的结果可能会有所不同。我可以告诉你,这是徒劳的。如果您想真正发送彩信,请选择合适的提供商。