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包放到桌面:

    也是可以运行的

  • 相关阅读:
    springboot集成flowable oracle数据库版本报错
    Vue.js中this.$nextTick()的使用
    Centos下虚拟环境的创建以及python3安装
    SaltStack实战
    第一章 Jenkins安装配置
    JavaScript 常用正则表达式
    ps 掉出字符设备面板,修改颜色等
    博客验证码破解
    我终于想起密码了~
    Linux grep 命令
  • 原文地址:https://www.cnblogs.com/xiaoduc-org/p/5493255.html
Copyright © 2011-2022 走看看