您的位置:首页 > 其它

大家有没想过用手机在远程控制你电脑的关机啊?

2008-01-24 11:11 513 查看
我们用javamail实现

看代码

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import java.io.*;

public class POPMail2
{
public static void main(String args[])
{
try{
String popServer="pop3.sohu.com";//邮箱服务器,可自己更改
String popUser="********";//***是代表你邮箱的帐号
String popPassword="***";//你邮箱的密码
receive(popServer,popUser,popPassword);
}
catch(Exception e){
System.out.println(e);
}
System.exit(0);
}
public static void receive(String popServer,String popUser,String popPassword)
{
Store store=null;
Folder folder=null;
try{
//get session
Properties props=System.getProperties();
Session session=Session.getDefaultInstance(props,null);
//use pop3 to connect the server
store = session.getStore("pop3");
store.connect(popServer,popUser,popPassword);
//get default file
folder =store.getDefaultFolder();
if(folder == null) throw new Exception("no default folder");
//if is inbox
folder=folder.getFolder("INBOX");
if(folder == null) throw new Exception("no pop3 inbox");
//use read_only method to open the inbox
folder.open(Folder.READ_ONLY);
//get file information ,get mail list
Message[] msgs=folder.getMessages();
// for(int msgNum=0;msgNum<msgs.length;msgNum++)
// printMessage(msgs[msgNum]);
int t=msgs.length;
System.out.println("当前有"+msgs.length+"封邮件");
if(folder!=null) folder.close(false);
if(store!=null) store.close();
while(true)
{
/**/ folder.open(Folder.READ_ONLY);
msgs=folder.getMessages();
System.out.println("现在有"+msgs.length+"封邮件");
if(msgs.length>t)
{
t++;
System.out.println("有新邮件到达");
printMessage(msgs[msgs.length-1]);//只读取最顶端的信
if(folder!=null) folder.close(false);
if(store!=null) store.close();
// break;
}
else
{
System.out.println("没有新邮件到达");
if(folder!=null) folder.close(false);
if(store!=null) store.close();
Thread.sleep(10000);
}

}
}catch(Exception e){
e.printStackTrace();
}
finally
{
try{
if(folder!=null) folder.close(false);
if(store!=null) store.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
public static void printMessage(Message message){
try{
//get mail address
String from=((InternetAddress)message.getFrom()[0]).getPersonal();
if(from==null) from=((InternetAddress)message.getFrom()

[0]).getAddress();
System.out.println("邮件来自于: "+from);
String subject=message.getSubject();
System.out.println("邮件主题是: "+subject);
if(subject.compareTo("shutdown")==0)
{
System.out.println("发现shutdown命令,调用系统命令

shutdown");
String cmd="shutdown -s -t 300";
//如需多个参数,可以改成String[]cmd,然后cmd[i]放置命令参数。
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmd);
}
}catch(Exception e)
{
e.printStackTrace();
}

}
}

只要你运行了起来,那么 ,只要你用手机向你程序里的那个邮箱发送了特定的信息,你就可以让你电脑关机了!手机上邮箱推荐使用QQ邮箱!

注: 以上程序是我从网络上搜索来的,加上自己的改进,从而能实现关机功能!不足之处请各位网友提提意见,以助于我的提高~~谢谢,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: