刚刚学习到的Android使用Javamail通过XOauth调用Gmail API发送邮件的方法
前景知识: OAuth , Javamail-android , Javamail api in android using XOauth 我的一个App项目需要在Service中自动发送邮件的功能,因为是后台自动发送邮件,不能出现邮件UI所以需要使用Javamail来发送,在Android中并未包含Javamail,所以需要第三方lib: Javamail-android ;同时由于我的App的邮件发送服务不应保存用户的邮件帐号与密码(因为会有安全问题),所以就必须要用到 XOauth 的方式(也就是无需存储用户邮件帐号和密码的方式)来调用Gmail API来发送邮件。 关键在于 XOauth 的AuthToken的获取,在 这篇文章 中讲的很清楚了,需要使用AccountManager来获取 AuthToken,关键代码如下: AccountManager accountManager = AccountManager.get(context); //获得本机第一个google账号 Account me = accountManager.getAccountsByType("com.google")[0]; //注意在获得AUTHTOKEN前要invalidateAuthToken一下,否则会得到null的AUTHTOKEN accountManager