zoukankan      html  css  js  c++  java
  • 如何用java实现使用电子邮件控制你的电脑

    上两天看到一篇文章,用python实现电子邮件控制电脑的有趣的小程序

    python 实现微信控制电脑     python版的视频教程

    但是苦于自己没接触过python于是想到能不能用java实现,于是写了个java版本的

    一开始想用socket连接邮件服务器的,但是比较麻烦,于是找了个易用的方法,使用javamail

    一、学会使用javamail

    首先我们得实现用java实现收发邮件的功能,通过查了资料,我们需要学习javamail,Javamail开发需要用到以下两个jar包

    下载地址:点我呀

    将上面两个jar包导入到javaproject中就能愉快的使用java收发电子邮件了,网上这种教程很多,视频也有不少,我就附两个吧:

    Java 发送邮件

    JavaMail API 核心类

    二、实现思路:(我们使用的是IMAP协议

    1.连接邮件服务器,我们必须去遍历所有邮件,找到那一份我们要找的,就是查找来自指定邮箱的新邮件

    2.找到指定邮件,获取出该邮件的subject赋给变量,然后将该邮件设置为已读

    3.调用java控制windows系统的函数,然后传入subject控制命令就行了。

    遇到的问题:

    1、如何随时的都能获取新邮件呢?于是我们想到了多线程,于是我用了一个线程死循环不断遍历邮件列表,有指定新邮件就立马接受到(但是在线程控制方面还存在一些问题)

    2、有时候连接邮件服务器会超时,但是继续等待又会连上(暂时未解决)

    三、代码测试:(以新浪邮箱为例)

    首先我们得确定新浪邮箱的一些配置

    测试程序:

    运行可能会报连接服务器异常

    由于在多线程中执行,自己会重新连接服务器

    成功的例子:发送一封主题为 notepad的邮件,会打开记事本,如下图

    由于初学javamail和多线程,此程序尚不完善,今后学习中继续改善,我觉得他们的python版的很屌啊,还得学习,抽空看看python版的实现原理

    程序源代码下载:

    使劲点我呀

    可执行jar包下载地址:

    使劲吊我呀

    可执行jar包运行方法:

    有java环境就能双击打开(编译版本jdk1.8.20)

    要是看程序的打印信息,可以将jar包放到桌面:

    也是可以运行的

  • 相关阅读:
    C#开源框架
    8 种 NoSQL 数据库系统对比
    安装补丁“此更新不适用于你的计算机”解决办法
    .net开源资料
    winform程序退出
    jquery.chained与jquery.chained.remote使用以及区别
    存储过程使用回滚
    C# Panel中绘图如何出现滚动条
    C#结构体的特点浅析
    如何用堆栈和循环结构代替递归调用--递归转换为非递归的10条军规
  • 原文地址:https://www.cnblogs.com/xiaoduc-org/p/5493255.html
Copyright © 2011-2022 走看看