资源下载地址:https://download.csdn.net/download/sheziqiong/86790177
资源下载地址:https://download.csdn.net/download/sheziqiong/86790177
目录
一、 项目选题 2
程序功能: 2
二、 开发环境和工具 2
三、 项目使用说明手册 2
四、 系统结构 2

  1. 项目目录结构 2
  2. 系统执行过程 3
    五、 系统内核心实现 4
  3. 模块动态加载 4
  4. 对webpage下的服务进行扫描 4
  5. 通过retr命令获取邮件,并且通过json格式返回到web前端 5
  6. 配置文件的读取 6
    六、 项目运行截图 7
  7. 首页 7
  8. 邮箱邮件查询 7
  9. 邮件发送 8
  10. 邮件详情 9
  11. 配置文件设置 9
  12. Web服务器错误页 10
  13. Web服务器主页 10
  14. 两个不同的邮箱进行测试 11
    一、项目选题
    基于实现的一个Web服务器的网页版邮箱客户端系统
    项目中的服务器为自己实现的Web服务器,对http访问进行响应
    项目中的邮箱客户端是基于socket进行smtp和pop3邮箱连接的客户端实现
    该项目将Web服务器和邮件客户端两个项目选题相结合
    程序功能:
    1.Web服务器功能对响应的HTTP资源的请求和对于邮件api的访问给予响应
    2.邮件能够实现查询邮件,本文转载自http://www.biyezuopin.vip/onews.asp?id=15154查看邮件详细信息,删除邮件,发送邮件,邮件返回分页等功能
    3.此项目在163邮箱和qq邮箱测试成功
    二、开发环境和工具
    系统环境 Windows10 1903
    开发工具 Intellij Idea Ultimate 2019、WebStorm、Chrome
    jdk版本 12.0.2(如果在jdk1.8的情况下报错,请按照错误修改)
    三、项目使用说明手册
    1.使用idea加载并打开工程
    2.在serverConfig.properties文件中进行相关的配置文件的配置
    3.浏览器输入http://127.0.0.1:8080/index.html进入主页面(如果未修改配置文件信息),输入不存在的资源目录则进入错误页面
    4.浏览器输入http://127.0.0.1:8080/mailAgentWeb/index.html进入邮箱客户端web主页面
    5.在该页面可以实现邮件查询、邮件删除、邮件详细信息查看等功能,切换tab可以使用邮件发送功能 。
import net.sf.json.JSONObject;import java.io.*;
import java.net.Socket;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class MailAgentThread extends WebService {private InputStream in = null;private OutputStream out = null;private Map<String, String> params = null;//用来保存对应的smtp的地址和对应的认证信息等private Map<String, List<String>> serverAddressInfo = null;//账号:2403116996//授权码:xevyrfcqimxfdhiaMailAgentThread(Socket socket) {try {this.in = socket.getInputStream();this.out = socket.getOutputStream();this.params = new HashMap<>();} catch (IOException e) {e.printStackTrace();}}@Overridepublic void run() {boolean state = false;String apiInfo = readApiInfo(this.in);params.clear();if (!apiInfo.contains("?")) {System.out.println("[万恶之原]mailAgentService请求中未带有参数!");reportError();return;}for (String item : apiInfo.split("\\?")[1].split("&")) {params.put(item.split("=")[0], item.split("=")[1]);}String serverName = params.get("username").split("@")[1];params.put("username", params.get("username").split("@")[0]);MailAgent mailAgent = new MailAgent("smtp." + serverName);state = mailAgent.login(params.get("username"), params.get("password"));if (!state) {System.out.println("[mailAgentService]服务中账号密码登陆失败!");reportError();return;}if (!params.containsKey("type")) {reportError();return;}if (params.get("type").equals("send")) {state = mailAgent.sendMail(params);if (state) {String result = "HTTP/1.1 200 ok \n" +"Content-Type: text/html \n" +"Access-Control-Allow-Origin: *\n";try {this.out.write(result.getBytes());out.flush();out.close();} catch (IOException e) {e.printStackTrace();}}} else if (params.get("type").equals("query")) {//todo:这里是查询邮件的业务逻辑String mailJson = mailAgent.queryMail(params);String result = "HTTP/1.1 200 ok \n" +"Content-Type: application/json;charset=UTF-8 \n" +"Access-Control-Allow-Origin: *\n" +"\n" + mailJson;try {out.write(result.getBytes());out.flush();out.close();} catch (IOException e) {e.printStackTrace();}}else if (params.get("type").equals("delete")){JSONObject json = new JSONObject();state = mailAgent.deleteMail(params);json.put("deleteState",state);String result = "HTTP/1.1 200 ok \n" +"Content-Type: application/json;charset=UTF-8 \n" +"Access-Control-Allow-Origin: *\n" +"\n" + json.toString();try {out.write(result.getBytes());out.flush();out.close();} catch (IOException e) {e.printStackTrace();}}}private void reportError() {String result = "HTTP/1.1 400 ok \n" +"Content-Type: text/html \n" +"Access-Control-Allow-Origin: *\n";try {this.out.write(result.getBytes());out.flush();out.close();} catch (IOException e) {e.printStackTrace();}}
}
















资源下载地址:https://download.csdn.net/download/sheziqiong/86790177
资源下载地址:https://download.csdn.net/download/sheziqiong/86790177

基于JavaWeb的网页版邮箱系统设计与实现相关推荐

  1. (免费分享)基于JavaWeb的高校试题库管理系统设计与实现 毕业论文+项目源码及数据库文件(已发)

     源码获取:我的博客资源页面可以下载!!!! 项目名称 (免费分享)基于JavaWeb的高校试题库管理系统设计与实现 毕业论文+项目源码及数据库文件(已发) 系统说明 随着信息技术的不断发展,我们已经 ...

  2. 基于javaweb+mysql的就业管理系统设计和实现(java+springboot+ssm)

    基于javaweb+mysql的就业管理系统设计和实现(java+springboot+ssm) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/s ...

  3. 基于javaweb项目ssm食品管理系统设计与实现(论文+程序设计源码+数据库文件)

    摘要:随着食品产业的发展.食品销量的增加.新食品种类的快速增加.新的食品技术的发展,已经得到各个国家的关注,因为食品安全状况是和广大人民群众的身体健康息息相关的.本系统主要采用springboot开发 ...

  4. 转让一套基于 Flash 的网页版棋牌平台

    赖勇浩(http://laiyonghao.com) 转让一套基于 Flash 的网页版棋牌平台,它是我在 2009 年初开发完成的,当时是接了一个外包,所以才起意做这个项目的,后来项目流产了.最近看 ...

  5. java发送会议邀请邮件模板_java mail text/calendar格式会议邀请邮件,网页版邮箱接收到的邮件内容无法换行...

    java中用mail进行会议邀请邮件(text/calendar格式)的发送,客户端邮箱正常显示,网页版邮箱正文部分无法换行如何解决buffer.append("BEGIN:VCALENDA ...

  6. 基于javaweb的宠物医院管理系统设计和实现(java+springboot+ssm+mysql+jsp)

    基于javaweb的宠物医院管理系统设计和实现(java+springboot+ssm+mysql+jsp) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myecl ...

  7. 基于javaweb的在线电影售票系统设计和实现(java+springboot+ssm+mysql+jsp)

    基于javaweb的在线电影售票系统设计和实现(java+springboot+ssm+mysql+jsp) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myecl ...

  8. 基于Python实现网页版去水印之去除图片右下角水印

    基于Python实现网页版去图片右下角水印 Python可以用OpenCV去除图片水印,但如何结合web框架去实现网页版去水印,带着这样的疑问,我搜索研究了一下,发现是完全可以实现的,而且考虑到部署服 ...

  9. 基于javaweb的在线心理测评系统设计和实现(java+springboot+ssm+mysql+jsp)

    基于javaweb的在线心理测评系统设计和实现(java+springboot+ssm+mysql+jsp) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myecl ...

最新文章

  1. 图灵访谈系列之九:CNode社区谈Node.js技术及生态
  2. Android用户界面开发(11):Menu
  3. shiro 的session持久化
  4. 圣剑神域单机版服务器维护,圣剑神域单机版
  5. 解密小程序云开发数据库
  6. Tablestore + Blink实战:交易数据的实时统计
  7. 二叉树构造c语言实现,递归创建二叉树c语言实现+详细解释
  8. Ext this.getView(...).saveDocumentAs is not a function
  9. centos6.6-zabbix2.4.5安装实战
  10. 如何将Eclipse中Web项目打成war包
  11. c++ idea 插件_推荐 33 个 IDEA 最牛配置,写代码太爽了
  12. 高德地图输入地址获取经纬度_不打开地图也能获取地址-利用百度地图API和Python实现...
  13. SaltStack 日志管理
  14. 分数阶微积分基本理论(课堂笔记1)
  15. 彻底搞懂内存屏障(上)
  16. htc hd如何刷新官方升级包--转symen
  17. HTML5文件选择框(各种类型)
  18. 英雄杀小程序微信区分服务器吗,小程序英雄杀挑战模式怎么玩
  19. google离线地图实例,加载本地地图瓦片, 支持点线面及图文标注,坐标定位,卫星、电子地图切换
  20. android 8.0预装APK为可卸载

热门文章

  1. FLAC3D模拟的典型工程实例
  2. 前端之vue3的setup和setup的2个的形参、响应式页面
  3. 视频文件打不开怎么修复
  4. echarts 5.x 版本词云无法正常显示问题
  5. C语言 统计含有中文的字符串中的字数、 字符数和行数
  6. 全国计算机系统导出名单,墨涩网 - 快速查询导出电脑常用信息——墨涩网
  7. Flink系列之Flink集群搭建
  8. K8S日常问题-k8s中大量pod 状态 evicted
  9. 网站带不带www真的不一样,很多新手不知道区别会被坑死的
  10. 忽略Xgboost的Warning