3

我正在开发一个 j2me 应用程序,我想知道是否有人知道如何向电子邮件地址发送短信。我需要使用短信,因为我试图使用无限文本计划而不是无限数据计划通过它发送数据。

我从http://freecode-freecode.blogspot.com/2008/06/how-to-send-sms-in-j2me.html修改了一个代码示例,但我似乎无法向电子邮件发送消息。相关代码如下...

  MessageConnection smsCon= (MessageConnection) Connector.open("sms://email@emailprovider.com:25");
  TextMessage txtmessage = (TextMessage) smsCon.newMessage(MessageConnection.TEXT_MESSAGE);
  txtmessage.setAddress("sms://email@emailprovider.com:25");// !!
  txtmessage.setPayloadText("Hello from j2me sms api");
  smsconn.send(txtmessage);

但它不起作用。我不知道如何解决这个问题。我通过手机的内置短信器手动向电子邮件发送了一条短信,但我似乎无法在代码中做到这一点。

4

3 回答 3

3

任何支持JSR 205的手机都应该能够大致按以下方式执行此操作(未编译或测试!!):

 MessageConnection emailCon = (MessageConnection) Connector.open("mms://email@emailprovider.com");
 MultipartMessage email = (MultipartMessage) emailCon.newMessage(MessageConnection.MULTIPART_MESSAGE);
 email.setSubject("Hello from j2me WMA 2.0 api");
 // add some MessageParts in here...
 emailCon.send(email);

彩信 URL 规范概述了电子邮件地址是有效的彩信目的地。

于 2010-02-05T17:24:20.960 回答
1

除非您在接收 SMS 的实体或 SMS 服务中心有特殊支持,否则您不能将电子邮件作为 SMS 消息发送。

您的运营商/运营商可能支持通过 SMS 服务中心发送电子邮件。通常这是通过将 SMS 发送到特定的收件人号码并在消息正文中编码电子邮件地址并由适当的标记(*、#、数字)包围来实现的。我曾经这样发短信到传真,但那是十多年前的事了……

如果您的运营商/运营商没有此类支持,也许您可​​以找到其他一些以类似方式工作的 SMS 到电子邮件服务。

更新:找到一个服务: http: //www.visualtron.com/sms2email.htm

您还可以在具有无限数据计划的设备上运行的 J2me MIDlet 中创建自己的 SMS 到电子邮件网关。然后,您需要将 SMS 发送到网关 MIDlet 侦听的特定端口。然后必须通过 SMTP 或 HTTP 连接发送实际的电子邮件。这不是我推荐的解决方案,因为它相当脆弱。

请注意,JSR-120 和 JSR-205(两个无线消息 JSR)仅指定对 SMS 和 MMS 消息的支持,但实现可以添加其他消息方案。从我对规格的快速浏览来看,我无法找到任何方法来确定特定设备支持哪些方案。还应注意,彩信也需要数据连接,但运营商/运营商通常对彩信和其他数据使用单独的连接和价格。因此,即使您的设备支持“email://”方案,它也需要数据连接才能工作。

于 2010-02-04T09:41:06.373 回答
0

我认为它不适用于当前的 WMA 规范。如果您想创建这样的服务,我建议您创建一个接收 SMS 的 SMS 网关,并结合连接到 Internet 的 J2SE/J2EE 应用程序。SMS 网关解析电子邮件地址的 sms 内容,发送到 J2SE/J2EE 应用程序,该应用程序根据参数是哪个电子邮件地址和其余的 sms 内容创建电子邮件。

于 2010-02-04T02:42:51.467 回答