基于微信的邮箱新邮件推送

基于微信的邮箱新邮件推送

最近主要做了2个东西:

  1. 合肥医保口罩购买预约网站分析
  2. 通过微信推送邮箱新邮件来信提醒

第一个因为网站已经下线,当时也没截图,导致想写过程,没素材。所以来写写通过微信推送邮箱的来信提醒。

一、背景

估计有人会问我在手机上登录邮箱账号,邮箱来信不自然能收到提醒吗?

主要是最近小丸子同学的公司邮箱在苹果手机上新邮件推送延迟。经常收到2天前的邮件提醒,如果不进入邮箱app主动收取邮件,根本不知道有邮件过来。对此小丸子同学也是跟我抱怨和很久,一直以为是手机坏了。最后分析了一下,确认是邮箱的问题(她的同事也有这个问题)。

虽然不是手机的问题,但是问题总是要解决。最后决定我通过代码检测她的邮箱是否有新邮件,如果有新邮件,就通过微信告知她。让她及时进入邮件app查看。

好了,方案决定了,那就开始吧!

二、设计

步骤很简单。

  1. 定时任务每分钟查询邮箱收件箱(她们公司邮箱只支持pop3)
  2. 检查是否有新邮件,如果有发送微信消息通知

这里需要解决2个问题:

  1. 怎么收取并检查新邮件?
  2. 代码怎么发送微信?

方案:

  1. java-mail库支持pop3收取邮件,但是会收取全部邮件,通过本地保存一份已收邮件列表,通过比对得出新邮件列表。
  2. 发微信有几种选择:

1 微信公众号(需要企业认证才能主动发送消息)-门槛高,代码实现简单,腾讯提供完备的api。

2 xposed编写模块hook安卓微信客户端(需要一个root的安卓手机)-门槛低,但是代码实现比较复杂,不过网络上有很多现成的介绍,主要是root的安卓手机比较麻烦。

很显然,第2个问题我选择了xposed hook 微信客户端。因为我办法做企业认证。不过之前微信对使用xposed的账号进行了一轮封锁,这个方法还是有风险。但是我没其他的选择。

这里需要知道几个知识点:

  1. xposed框架 -包括xposed安装,模块的使用
  2. java实现定时任务。我采用的springboot

一开始准备直接在xposed框架中,当hook住微信的时候启动定时任务。毕竟安卓app(xposed模块)也是java写。这样肯定简单。但是因为我不是专业安卓开发,不知道怎么存储已收邮件列表。特别在xposed的模块中,操作sqlite比较麻烦。

最后决定xposed框架中当hook住微信时启动一个http服务器,再另外通过springboot 启动定时任务,当需要发送微信时,通过http方式发送请求,xposed中的服务器收到请求后,调用微信的代码将消息发送出去。

所以整体结构是这样的。

xposed模块编写

//TODO 暂时不知道怎么把代码写清楚,回头补一下github地址,直接上代码(吐槽下上海移动,竟然把github屏蔽了,导致家里上不了github)

springboot定时任务

//TODO 暂时不知道怎么把代码写清楚,回头补一下github地址,直接上代码

原文地址:https://www.cnblogs.com/jimmyfan/p/12699278.html

时间: 2024-10-12 15:32:10

基于微信的邮箱新邮件推送的相关文章

【初码干货】使用阿里云邮件推送服务架设自己邮件验证与推送体系

提示:阅读本文需提前了解的相关知识 1.电子邮件协议(http://baike.baidu.com/view/2367542.htm) 2.阿里云邮件推送(https://www.aliyun.com/product/directmail) 3.EDM(电子邮件营销)(http://baike.baidu.com/subview/1212416/8602812.htm) 4.SendCloud邮件服务(http://sendcloud.sohu.com/) 阅读目录结构 引: 一.需求分析 二.

RedMine项目管理系统邮件推送设置(Windows环境)

RedMine项目管理系统有邮箱推送功能,当Bug,安全漏洞等内容被修改.解决.评论的时候,系统会通过邮件 及时的通知你的团队和客户.邮件通知的环节.形式.时间.接受人均可定制,功能十分实用. 下面是针对windows系统环境下安装的RedMine时,邮件推送的配置说明. (1)登录后点击[管理]-> [用户] (2)选中要收取邮件推送的用户登录名 (3)在[邮件通知]标签中的“不收取任何通知”改为“收取我的项目的所有邮件”,如下图所示 设定“收取我的项目的所有邮件”后保存即可. 另外,可以选的

如何做好网站邮件推送?

如何做好网站邮件推送? 关键词 文章的版权 洪哥写文章很苦逼,如果本文对您略有帮助,点击感兴趣的广告支持洪哥!万分感谢!本文属于“洪哥笔记”原创文章,转载请注明来源地址:如何做好网站邮件推送?:http://www.splaybow.com/post/seo-mail-delivery.html 摘要 <p>如何做好网站邮件推送?对于一个网站的推广而言,邮件推送是一个利器!定期给用户发送一些他们感兴趣的邮件,有利于提高用户的粘滞度.读了一篇Fimen写的文章,然后做一些自己的总结.<br

阿里云邮件推送及邮件发送测试

工具:域名(推荐二级域名).阿里云企业邮箱,开通及解析过程下文有记录 一.邮件推送 在域名解析处解析一个二级域名,用作邮件域名,如mail.danny.com(danny.com是主域名) 进入邮件推送控制台 上图是解析验证通过之后的截图 点击配置会提示如何配置解析 在域名解析处按照上图要求配置解析,返回点击验证通过即可 二.阿里云企业邮箱 点击链接注册购买免费企业邮箱 进入控制台企业邮箱设置解析,记得重置密码(邮箱密码) 添加如下设置(注意:此文档针对的是主域名文档,二级域名除了邮箱解析 im

jenkins持续集成Allure生成报表+邮件推送

本次基于<jenkins 生成HTML报表,邮件推送>的基础上将生成HTML报表修改为Allure生成报表,可以参考官方文档:https://docs.qameta.io/allure/#_jenkins 1.启动tomcat登录jenkins 2.Install the latest version of Allure Plugin from "Plugin Manager" page. 3.(1)Open Plugin Advanced Settings (at <

用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇

在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还是很耐心的. 最终结论,是由于MailKit发送了两次EHLO命令,查看了MailKit源码后竟然发现,里面写了硬编码: if (host != "smtp.strato.de" && host != "smtp.sina.com") Ehlo (can

阿里云邮件推送服务

提起邮件服务,最早之前一般自建邮件服务器,需要硬软件和运维的支持,稳定性也难保证,随着云服务的普及邮件推送功能的服务化是趋势,也省钱省事省心. 最早开始用过搜狐邮件服务,阿里云生态现在基本都出现了,我们来尝试一下阿里云的邮件推送服务: 一.阿里云控制台操作 首先在阿里云邮件推送控制台添加域名,然后在自己的dns服务器中添加如下的解析(根据控制台中的“配置”): 一个主机名为aliyundm的TXT记录,用于验证域名所有权 一个主机名为空.值为v=spf1 include:spf1.dm.aliy

微信营销案例三 音乐推送微信

案例三:星巴克 音乐推送微信 把微信做的有创意,微信就会有生命力!微信的功能已经强大到我们目不忍视,除了恢复关键词还有回复表情的. 这就是星巴克音乐营销,直觉刺激你的听觉!通过搜索星巴克微信账号或者扫描二维码,用户可以发送表情图片来表达此时的心情,星巴克微信则根据不同的表情图片选择<自然醒>专辑中的相关音乐给予回应. 这种用表情说话正式星巴克的卖点所在.只是笔者一直不明白表情区分是全智能的,还是人工服务呢? 微信营销案例三 音乐推送微信,布布扣,bubuko.com

解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题

在博问中(.net core怎么实现邮件发送)知道了MailKit无法使用阿里云邮件推送服务发送邮件的问题,自已实测也遇到同样的问题,而用自己搭建的邮件服务器没这个问题. 于是,向阿里云提交了工单...在提供了TCP抓包数据后,阿里云技术专员发现了问题所在:在认证通过后,MailKit发送了EHLO命令,然后才发送MAIL FROM命令,服务器在收到EHLO时会重置客户端的认证状态,所以后续的命令过来时,服务器认为客户端没有认证,于是报错“503 Bad sequence of commands