2011-12-19 41 views
0

我正在編寫基於Javamail API的Android電子郵件客戶端應用程序。我可以從它登錄GMail帳戶,但我想確保登錄過程實際上是安全的。從我的Android javamail應用程序向Gmail發送密碼

於是我就用這樣的代碼:

Session session = Session.getDefaultInstance(props, null); 
Store store = session.getStore("imaps"); 
store.connect("imap.gmail.com", "usernameEditText.getText().toString()", 
       "passwordEditText.getText().toString()"); 

因爲我不存儲密碼本身在任何時候(他們是直接從文本框,並且存儲在谷歌的服務器),我敢肯定我不必擔心散列和加密事情,就好像我將密碼保存在我自己的數據庫中一樣 - 但是安全嗎?或者由於我的應用程序創建的數據包可能會截取用戶/密碼組合發送到Google的服務器?

如果我理解正確,「imaps」商店確保這是一個SSL連接,所以流量應該加密,但我想確保我不會誤解事情。

謝謝!

回答

0

別擔心。 IMAP over SSL連接中的所有數據均已加密。但是,對於發送電子郵件,Transport.send方法將使用默認傳輸協議 ,該協議仍然是「smtp」。要通過SSL啓用SMTP連接,請將 「mail.smtp.ssl.enable」屬性設置爲「true」。這通常是最簡單的方法。

或者,爲了改變由Session.getTransport()方法返回到SMTP通過SSL的默認傳輸協議 ,設置 屬性「mail.transport.protocol」到「SMTPS」。若要更改用於互聯網地址(由 Session.getTransport(地址)方法返回,並通過Transport.send 方法使用) 運輸,使用 session.setProtocolForAddress("rfc822", "smtps");

可以在Notes for use of SSL with JavaMail找到更多信息。

相關問題