package com.menu;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.bean.User;
import com.init.UserInit;
import com.once.Once;
import com.util.Util;
public class SelectMenu implements Runnable{
Socket client;
PrintStream ps;
BufferedReader br;
Once once=Once.getOnce();
User user=new User();
public SelectMenu(Socket client){
this.client=client;
try {
ps=new PrintStream(client.getOutputStream());
br=new BufferedReader(new InputStreamReader(client.getInputStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void run() {
// TODO Auto-generated method stub
Util.println(ps, "************************欢迎进入邮件系统************************");
while(true){
Util.println(ps, "请选择:1、登录\t2、注册\t3、修改密码\t4找回密码");
String menu=Util.getInput(br);
if(menu.equals("1")){
login();
}else if(menu.equals("2")){
addUser();
}else if(menu.equals("3")){
changePass();
}else if(menu.equals("4")){
getPass();
}else{
Util.println(ps, "请重新选择操作!");
}
}
}
public void login(){
Util.println(ps, "请输入你的用户名:");
String name=Util.getInput(br);
if(once.getUserMap().containsKey(name)){
Util.println(ps, "请输入密码:");
String psss=Util.getInput(br);
String pass1=once.getUserMap().get(name).getUserPass();
if(pass1.equals(psss)){
if(!once.getPsMap().containsKey(name)){
try {
Util.println(ps, name+" "+Util.getTime()+"在"+InetAddress.getLocalHost().getHostAddress()+"登录成功!");
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
once.getPsMap().put(name, ps);
SelectMenu2 select=new SelectMenu2();
select.selectMenu(ps, br);
}else{
Util.println(ps, "不能重复登录!");
}
}else{
Util.println(ps, "密码输入错误,请重新输入!");
}
}else{
ps.println("你输入的用户不存在");
}
}
//注册
public void addUser(){
Util.println(ps, "请输入你的用户名:");
String name=Util.getInput(br);
if(once.getUserMap().containsKey(name)){
Util.println(ps, "该用户已存在");
}else{
user.setUserName(name);
Util.println(ps, "该用户名可用,请输入密码:");
String pass=Util.getInput(br);
user.setUserPass(pass);
Util.println(ps, "请输入你的密保问题:");
String question=Util.getInput(br);
user.setUserQuestion(question);
Util.println(ps, "请输入你的密保答案:");
String answer=Util.getInput(br);
user.setUserAnswer(answer);
once.getUserMap().put(name, user);
writeToFile(once.getUserMap());
Util.println(ps, "注册成功!");
List<File> list=new ArrayList<File>();
once.getMailMap().put(name, list);
//写入文件中
Util.writetomail();
}
}
//修改密码
public void changePass(){
Util.println(ps, "请输入用户名:");
String name=Util.getInput(br);
if(once.getUserMap().containsKey(name)){
Util.println(ps, "请输入原密码:");
String pass= Util.getInput(br);
String pass1=once.getUserMap().get(name).getUserPass();
if(pass.equals(pass1)){
Util.println(ps, "请输入新密码:");
String pass2=Util.getInput(br);
Util.println(ps, "请再次输入新密码以便确认:");
String pass3=Util.getInput(br);
if(pass2.equals(pass3)){
once.getUserMap().get(name).setUserPass(pass2);
writeToFile(once.getUserMap());
Util.println(ps, "密码修改成功!");
}else{
Util.println(ps, "两次密码输入不一致!");
}
}else{
Util.println(ps, "原密码输入错误!");
}
}else{
Util.println(ps, "你输入的用户名不存在!");
}
}
//找回密码
public void getPass(){
Util.println(ps, "请输入用户名:");
String name=Util.getInput(br);
if(once.getUserMap().containsKey(name)){
Util.println(ps, "你的密保问题是:"+once.getUserMap().get(name).getUserQuestion());
Util.println(ps, "请输入你的密保答案:");
String answer=Util.getInput(br);
if(answer.equals(once.getUserMap().get(answer).getUserAnswer())){
Util.println(ps, "恭喜你,回答正确,你的密码是:"+once.getUserMap().get(name).getUserPass());
}else{
Util.println(ps, "你输入的密保答案错误!");
}
}else{
Util.println(ps, "你输入的用户不存在!");
}
}
//把注册的信息写入文件
public void writeToFile(Map<String, User> userMap){
File file=new File(Util.USERPATH);
ObjectOutputStream oos;
try {
oos = new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(userMap);
oos.flush();
oos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1, 支持邮件接收功能;(POP3),中文邮件接收,支持图片接收 2,支持邮件发送功能;(SMTP),中文邮件发送,支持图片发送 3,支持邮件转发功能;支持邮件的群发功能 4, 路径可配置(邮件的接收路径,); 5, 用户可配置(服务器的端口号可配置,邮件用户的用户名和密码可配置,添加用户的密保和找回密码,修改密码功能(telnet操作),)
资源推荐
资源详情
资源评论
收起资源包目录
java_mailtest.rar (27个子文件)
java_mailtest
.project 389B
src
com
init
UserInit.java 2KB
xiancheng
HostOne.java 566B
Send.java 944B
Receive.java 879B
once
Once.java 2KB
menu
SelectMenu.java 5KB
SelectMenu2.java 2KB
dao
ReceiveDao.java 4KB
SendDao.java 4KB
util
Util.java 1KB
test
MainTest.java 563B
bean
User.java 786B
.settings
org.eclipse.jdt.core.prefs 629B
.classpath 301B
bin
com
init
UserInit.class 2KB
xiancheng
Send.class 1KB
Receive.class 1KB
HostOne.class 919B
once
Once.class 3KB
menu
SelectMenu2.class 2KB
SelectMenu.class 6KB
dao
ReceiveDao.class 4KB
SendDao.class 4KB
util
Util.class 2KB
test
MainTest.class 1018B
bean
User.class 1KB
共 27 条
- 1
资源评论
- dota19232016-08-16尝试使用了一下,感觉还可以,与上面的想法不同,幸好是java的
- u0107466842014-03-13邮件功能全面,很有用
- rain5252013-10-30系统不错,可惜是java的。
- qq_168846512015-06-16可以运行,可惜不会使用telnet
一水之隔
- 粉丝: 2
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5.14整合ssmfffffffffffff
- Example8_10自定义视频控件按钮.html
- Windows系统安装VMware虚拟机的教程
- OTN光传输网络OTU、OPU、ODU、PM、SM、TCM各种开销图
- Windows系统安装VMware虚拟机的教程
- Python-数据库.xmind(思维导图)
- STM32计数器PCB 1602 2个传感器.PcbDoc
- Windows系统安装VMware虚拟机的教程
- WOA-HKELM鲸鱼算法优化混合核极限学习机多变量回归预测(Matlab完整源码和数据)
- Screenshot_2024-05-14-22-47-39-925_com.alibaba.android.rimet.hznu.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功