Android 快速傳送郵件

夏至的稻穗發表於2019-03-01

在一般的 apk 中,我們都會設定一個讓使用者提意見的功能,常見的做法,就是申請一個通用郵箱,讓內容傳送過來就好了。

而這裡的郵箱傳送,屬於第三方郵件傳送,即本來你申請的是 163 的,然後卻用 QQ 郵箱去登入,那肯定是不行的,所以需要申請授權碼,申請之後,就用賬號加授權碼傳送即可。
所以,這裡新增一個 ZMailManager 的工具類。

關聯

allprojects {
    repositories {
        ...
        maven { url `https://jitpack.io` }
    }
}
複製程式碼
implementation `com.github.LillteZheng:ZMail:V1.0`
複製程式碼

ZMailManager 程式碼非常簡單:

 //傳送郵件 
 /**
 * fromAddr       -- 傳送人郵箱,不填報錯
 * nickName       -- 傳送人的暱稱,不寫則預設為 test
 * password       -- 授權碼,不填報錯,gmail 記得允許許可權低的應用可以訪問的許可權
 * host           -- 配置 host 服務地址,預設根據發件人的郵箱來,比如 xx@qq.com ,則 host 為 smtp.qq.com
 * isSSLvertify   -- 是否開啟SSL驗證,預設開啟,開啟是埠為465,不開啟則為25,建議開啟,很多郵箱都需要驗證 SSL的
 * port           -- 根據isSSLvertify,開啟是埠為465,不開啟則為25,也支援自定義
 * subject        -- 郵件主題,不寫預設 TEST
 * content        -- 郵件內容,不寫預設 This is a test email
 * file           -- 支援 url 和 本地檔案,可多個
 * toAddrs        -- 收件人,多個多個,必填,不填報錯
 */
ZMailManager
        .fromAddr(SEND_EMAIL)   
        .nickName("會散步的魚")
        .password(PASSWORD)
        //.host("smtp.163.com")
        //.isSSLvertify(false)
        //.port(25)
        .subject("測試郵件")
        .content("這是一封測試郵件!")
        .file(imageUrl)
       // .file(new String[]{imagePath})
        .toAddrs(new String[]{TO_EMAIL})
        .listener(this)
        .send();
複製程式碼

這樣就可以傳送郵件了,附件支援本地與 url 的檔案,一般都能滿足需求了。

工程見 github
github.com/LillteZheng…

相關文章