2013-03-23 145 views
1

我需要從應用程序發送電子郵件。到現在爲止我已經使用了JavaMail API,它工作得很好,但也存在一些問題:如何從應用程序發送電子郵件

  • 我需要硬編碼密碼到Gmail帳戶從該郵件應該被髮送,這顯然也不是很大
  • 谷歌最近發現了一些「可疑登錄」(我不知道這實際上是否是一些試圖訪問該帳戶的人或僅僅是應用程序的正常登錄),但谷歌迫使我更改密碼,這顯然使得該應用程序無用,因爲它無法再發送電子郵件。

我不想總是發佈更新,因爲我不得不更改密碼。

所以,如果您有關於如何可以任何想法:

  • 使硬編碼密碼很安全,防止谷歌從逼着我改密碼

  • 或發送電子郵件一些其他的方式這不需要硬編碼的密碼(就像通過http請求一樣,但由於服務器認爲我在周圍發送垃圾郵件並阻止了網站空間,所以並沒有真正起作用......)

請幫忙!

+0

爲什麼不將標準發送到標準的Android郵件應用程序? – Egor 2013-03-23 17:54:57

+3

「我需要從應用程序發送電子郵件」 - 爲什麼?如果用戶實際上是發送電子郵件的用戶,那麼使用'ACTION_SEND'並允許用戶使用他們最喜歡的電子郵件客戶端來完成該過程。如果您從用戶設備的用戶背後發送電子郵件,爲什麼您認爲這是用戶想要的東西? – CommonsWare 2013-03-23 17:55:18

+0

http://stackoverflow.com/questions/2020088/sending-email-in-android-using-javamail-api-without-using-the-default-built-in-a。同意Commonsware評論 – Raghunandan 2013-03-23 19:24:40

回答

2

如果您希望應用程序生成電子郵件並將其發送給用戶,最好的方法是從後端系統發送電子郵件。發佈您的移動應用程序可以與之交互的REST API,並讓後端處理髮送電子郵件。它會更安全,你將有適當的解耦。這是處理它的唯一好方法。

應用程序中的編碼密碼始終可以解密,因爲加密密鑰也將存儲在應用程序的某處。此外,正如您已經指出的那樣,將代碼放在應用程序中的麻煩以及更新代碼的困難可能是一場噩夢(並非所有用戶都經常更新其應用程序)。

如果您希望應用程序代表用戶發送電子郵件(使用戶發送它們),然後使用Intent作爲CommonsWare中的註釋。它使得用戶可以看到發送電子郵件。

0

不知道發送郵件的頻率如何,但是您可以使用4位數的PIN碼加密密碼,然後在啓動時詢問PIN碼,解密密碼並將其保存在內存中。如果你換出了,你需要重新解密它,但它會保證用戶的密碼更安全。

相關問題