2010-02-01 115 views
3

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

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

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

但它不工作。我不知道如何解决这个问题。我通过电话的内置文本消息手动发送了一条短信给电子邮件,但我似乎无法在代码中完成。

+0

我们需要知道您在尝试使用哪种手机型号。对于在手机上实现JSR-120的用户,使用看起来不像电话号码的东西可能不是有效的用例。 – 2010-02-01 12:55:21

+0

我正在尝试创建一个适用于大多数j2me手机的应用程序。但是,我使用的手机是摩托罗拉i335(iDEN)。 – DoorMat 2010-02-01 14:26:32

回答

0

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

1

除非您在接收短信的实体或SMS服务中心中有特别的支持,否则不能以电子邮件的形式发送电子邮件。

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

如果您的运营商/运营商没有此类支持,也许您可​​以找到其他类似的SMS-to-email服务办法。

更新:发现服务:http://www.visualtron.com/sms2email.htm

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

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

3

任何支持JSR 205手机应该能够做到这一点大致如下(未编译或测试!!):

MessageConnection emailCon = (MessageConnection) Connector.open("mms://[email protected]"); 
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); 

一个MMS URL规范概括了一个电子邮件地址是有效的MMS目的地。