2010-02-01 157 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目的地。