如何用java实现使用电子邮件控制你的电脑
2016-05-14 20:25
519 查看
上两天看到一篇文章,用python实现电子邮件控制电脑的有趣的小程序
[b]python 实现微信控制电脑 python版的视频教程[/b]
但是苦于自己没接触过python于是想到能不能用java实现,于是写了个java版本的
一开始想用socket连接邮件服务器的,但是比较麻烦,于是找了个易用的方法,使用javamail
一、学会使用javamail
首先我们得实现用java实现收发邮件的功能,通过查了资料,我们需要学习javamail,Javamail开发需要用到以下两个jar包
下载地址:点我呀
将上面两个jar包导入到javaproject中就能愉快的使用java收发电子邮件了,网上这种教程很多,视频也有不少,我就附两个吧:
1.连接邮件服务器,我们必须去遍历所有邮件,找到那一份我们要找的,就是查找来自指定邮箱的新邮件
2.找到指定邮件,获取出该邮件的subject赋给变量,然后将该邮件设置为已读
3.调用java控制windows系统的函数,然后传入subject控制命令就行了。
遇到的问题:
1、如何随时的都能获取新邮件呢?于是我们想到了多线程,于是我用了一个线程死循环不断遍历邮件列表,有指定新邮件就立马接受到(但是在线程控制方面还存在一些问题)
2、有时候连接邮件服务器会超时,但是继续等待又会连上(暂时未解决)
三、代码测试:(以新浪邮箱为例)
首先我们得确定新浪邮箱的一些配置
测试程序:
运行可能会报连接服务器异常
由于在多线程中执行,自己会重新连接服务器
成功的例子:发送一封主题为 notepad的邮件,会打开记事本,如下图
由于初学javamail和多线程,此程序尚不完善,今后学习中继续改善,我觉得他们的python版的很屌啊,还得学习,抽空看看python版的实现原理
程序源代码下载:
使劲点我呀
可执行jar包下载地址:
使劲吊我呀
可执行jar包运行方法:
有java环境就能双击打开(编译版本jdk1.8.20)
要是看程序的打印信息,可以将jar包放到桌面:
也是可以运行的
[b]python 实现微信控制电脑 python版的视频教程[/b]
但是苦于自己没接触过python于是想到能不能用java实现,于是写了个java版本的
一开始想用socket连接邮件服务器的,但是比较麻烦,于是找了个易用的方法,使用javamail
一、学会使用javamail
首先我们得实现用java实现收发邮件的功能,通过查了资料,我们需要学习javamail,Javamail开发需要用到以下两个jar包
下载地址:点我呀
将上面两个jar包导入到javaproject中就能愉快的使用java收发电子邮件了,网上这种教程很多,视频也有不少,我就附两个吧:
Java 发送邮件
JavaMail API 核心类
[b]二、实现思路:(我们使用的是IMAP协议)[/b]1.连接邮件服务器,我们必须去遍历所有邮件,找到那一份我们要找的,就是查找来自指定邮箱的新邮件
2.找到指定邮件,获取出该邮件的subject赋给变量,然后将该邮件设置为已读
3.调用java控制windows系统的函数,然后传入subject控制命令就行了。
遇到的问题:
1、如何随时的都能获取新邮件呢?于是我们想到了多线程,于是我用了一个线程死循环不断遍历邮件列表,有指定新邮件就立马接受到(但是在线程控制方面还存在一些问题)
2、有时候连接邮件服务器会超时,但是继续等待又会连上(暂时未解决)
三、代码测试:(以新浪邮箱为例)
首先我们得确定新浪邮箱的一些配置
测试程序:
运行可能会报连接服务器异常
由于在多线程中执行,自己会重新连接服务器
成功的例子:发送一封主题为 notepad的邮件,会打开记事本,如下图
由于初学javamail和多线程,此程序尚不完善,今后学习中继续改善,我觉得他们的python版的很屌啊,还得学习,抽空看看python版的实现原理
程序源代码下载:
使劲点我呀
可执行jar包下载地址:
使劲吊我呀
可执行jar包运行方法:
有java环境就能双击打开(编译版本jdk1.8.20)
要是看程序的打印信息,可以将jar包放到桌面:
也是可以运行的
相关文章推荐
- eclipse+Axis2配置开发SOAP服务
- java hdu2011多项式求和
- Struts2工作原理
- java nio
- JVM 垃圾回收器工作原理及使用实例介绍(原文已发表于IBM开发者论坛)
- 一个经典例子让你彻彻底底理解java回调机制
- Java个别关键字
- ReentrantLock解析,lock与unlock方法分析
- JavaWeb学习笔记——Ajax
- java设计模式之结构型模式-代理模式
- Spring记录之SpringMVC
- Spring MVC的实现
- java中try catch块的使用
- XML_Java_ XML_利用Jdom(Java)解析xml文件 示例
- spring hibernate 批量插入jdbc及hibernate方法
- 在Maven项目中加载spring中的bean的配置xml文件会提示找不到解决方法
- Lock使用
- 69道Spring面试题和答案
- javaIO流
- Java入门习题(五)——内部类