在许多的Android项目 中,我们都会设置一个让用户提意见的功能,比较多的做法,就是申请一个邮箱,通过用户反馈后让内容发到邮箱中,然后查看。

本篇的邮箱发送,属于使用代码进行发送第三方邮件,即本来你申请的是 139 的,然后却用 QQ 邮箱去登录,那肯定是不行的,所以需要申请授权码,申请之后,就用账号加授权码发送即可。

注意的是,如果是公司邮箱,要去你们的邮箱配置服务器中,查看SMTP服务器,端口和是否开启SSL,每个公司都不一样,目前还未遇到不能用的情况

说明:由于笔者一直使用的事qq邮箱和139邮箱,互相发送,所有本片也是讲的qq邮箱与39邮箱,163邮箱也是可以的。

对于个人开发者而言,个人app如何收集用户日志,值得思考下。先从bugly等第三方的bug收集讲起,他们这些只能收集部分日志信息,不完整,没有完整的上下文,也不利于分析问题,另外是crash或者是exception下才会上报日志,有些业务并不会发生crash或者是exception,这不满足自己的特定需求。如果是用日志文件的方式记录日志呢,这个好,可以有完整的日志,要考虑的就是日志如何上传的问题了。对于日志上传,如果有自己的服务器,那么也好处理,但是对个人开发者而言,还得配置下才能将日志上传到服务器,查阅也麻烦,有的并没有服务器,有没有低成本的实践方式呢,有的,可以考虑用邮件上传日志的方式。

在最后附上DEMO,下载后使用需要获取自己qq邮箱授权码到代码中去,然后配置相关参数。

简单介绍:

这是一个app上可以进行用户反馈以及异常信息收集后生成文件以附件形式发送到邮箱,不一定完美,这样的方式适用于个人pp和用户量比较少的的app,如果用户量过于庞大,这种方式就有很大劣势,适合前期阶段。采用的是邮件上传日志文件的方式(日志文件是用异常生成日志),邮箱是用的qq邮箱,通过授权码的方式,在客户端发送邮件到指定邮箱,不用担心账号密码泄漏。所有的日志都集中在邮箱中,查阅也相当方便。

邮箱中获取授权码:

1、登录qq邮箱,在顶部选择邮箱设置,如图:

2、然后往下拉,看到下图这个就可以了,把红圈圈里的开启

3、然后就会生成下图中的这个授权码

所以,这里添加一个 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.qq.com")//是什么类型的邮箱就更改为什么类型,如为163邮箱 例:smtp.163.com.isSSLvertify(false).port(25).subject("TEST邮件").content("这里在demo中放入异常文本")//内容
//                        .file(getFile)//附件
//                        .file(new String[]{imageUrl})附件.toAddrs(new String[]{TO_EMAIL}).listener(this).send();

如果需要知道更多详细代码:

百度网盘:戳这里    提取码:y4kd

CSDN通道:戳这里

AndroidAPP用邮件收集用户上报日志相关推荐

  1. Facebook 被指收集用户数据:通过照片和文本

    北京时间5月25日消息,在加利福尼亚州进行的对Facebook泄露用户信息一案中,法院对Facebook提起一项新的诉讼,指控该公司通过App收集了用户及他们朋友的信息. 上周向加利福尼亚州圣马特奥市 ...

  2. 为什么别人家的APP,上报日志就这么省流量?

    为了统计APP内用户行为,或者需要收集某些产品数据,APP往往需要进行日志上报,日志上报往往又非常费流量,大家的APP是怎么上报日志的呢? 画外音:用户流量的大头,是日志上报? APP可不可以不上报日 ...

  3. 读科研文献也能泄露隐私,用户发现爱思唯尔PDF阅读器收集用户信息

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 阅读科学 ...

  4. ELK:收集k8s容器日志最佳实践

    简介 关于日志收集这个主题,这已经是第三篇了,为什么一再研究这个课题,因为这个课题实在太重要,而当今优秀的开源解决方案还不是很明朗: 就docker微服务化而言,研发有需求标准输出,也有需求文件输出, ...

  5. 30.jvm.gc(GC之详解CMS收集过程和日志分析)

    30.jvm.gc(GC之详解CMS收集过程和日志分析) 30.1.话题引入 30.2.ParNew and CMS 30.3.日志 30.3.1.GC日志初体验 30.3.2.Minor GC 30 ...

  6. app获取个人信息是否合法_重拳出击!42款APP过度收集用户信息被点名

    驱动中国2019年9月10日消息 近年来我国不断加强对互联网应用中个人信息的保护,但因相关监管机制尚不健全,实际上多数APP并未遵循最少够用原则,仍存在违规收集使用个人信息现象. 日前,广东省公安厅持 ...

  7. php怎么把日志推送过去_实践 | 基于Flink的用户行为日志分析系统

    用户行为日志分析是实时数据处理很常见的一个应用场景,比如常见的PV.UV统计.本文将基于Flink从0到1构建一个用户行为日志分析系统,包括架构设计与代码实现.本文分享将完整呈现日志分析系统的数据处理 ...

  8. ELK下一个配置文件收集多个日志-if根据type类型判断

    1.同时收集/var/log/messages日志和secure日志 #vim /etc/logstash/conf.d/system.conf input {file {path => &qu ...

  9. graylog3.0收集飞塔防火墙日志

    公司有一台飞塔防火墙,是基于utm的,很多功能都过期了,之前我配置了破解的anlayer来收集分析防火墙策略日志,非常好用,但是这玩意要钱,只能试用30天,我是把系统时间调成了2017年,避免到期,但 ...

最新文章

  1. Linux系统下如何安装软件包
  2. Spring boot 梳理 - WebMvcConfigurer接口 使用案例
  3. phantomjs 抓取html,javascript – 如何使用PhantomJS获取网站的HTML源代码
  4. 每日两SQL(2),欢迎交流~
  5. SpringMVC学习一
  6. input checkbox 选择内容输出多少个
  7. A10负载均衡设备基础配置
  8. java 数组 源码_Java数组转List的三种方式及对比
  9. int string相互转换
  10. sysservers 中找不到服务器,请执行 sp_addlinkedserver 将该服务器添加到sysserver
  11. matlab之产品大全
  12. RPG Maker MV 密码宝箱
  13. 苹果7服务器是什么系统版本,最新系统 iOS14.7 Beta1 版本推出!
  14. glob.glob()之返回路径的正反斜杆问题
  15. 【强烈推荐】人工智能系列文章推送公告!!!
  16. ERDAS 9.2安装教程
  17. Swing版《房屋租赁合同》
  18. 深度学习笔记——hrnet
  19. Git版本管理及工作流规范
  20. SIEF——Document-Level Relation Extraction with Sentences Importance Estimation and Focusing

热门文章

  1. 用HBuilder插入图片、动态图、音乐、视频、上传文件
  2. 【深度学习】基于人脸关键点的视频心率检测
  3. 三款正射图合并软件性能对比
  4. 机器学习笔记——从手写数字识别开始
  5. 拼图游戏 java_Java实现拼图游戏
  6. 如何4步绘制出高水平的气泡图?
  7. 对不同角色用户设置不同的系统首页
  8. 清理win7系统盘空间
  9. 小程序开发可以用什么语言?
  10. Django(14)-应用及分布式路由