在一般的 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…