2013-05-21 41 views
0

我正在從廣播接收器發送郵件使用javax.mail。該應用程序在運行時和在前臺時發送郵件。但是,當我移動應用的背景下,我得到一個錯誤從android應用程序中的javax.mail發送郵件

javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587; 
    java.net.ConnectException: failed to connect to smtp.gmail.com/74.125.25.108 (port 587): connect failed: ENETUNREACH (Network is unreachable) 

我已經確定了廣播接收器在後臺運行。

+0

它基本上說它試圖發送,但有一個網絡錯誤。你確定你不是剛剛失去了連接? –

+0

是的,也許。謝謝 。 :) –

回答

0

請注意,過去我從Broadcastreceiver進行基於互聯網的服務時遇到了麻煩。它會工作一次,失敗的下一個。這可能是一些簡單的事情,比如緩慢的3G數據或失敗的帖子。 Broadcastreceiver的問題在於它在某些情況下被GC嚴重關閉,並不意味着長時間運行。因此,對於可能失敗,需要很長時間或需要重試的事情(例如發送電子郵件),請考慮從廣播接收器啓動一項服務,以便在發生故障時繼續重試並保持活動狀態。不是必需的,而是一個好主意(以我的經驗)。

相關問題