wshq 发表于 2015-9-14 06:06:54

使用OutLook远程控制机器

  在家里如何控制公司的机器呢?
  公司的机器都用一个网关连接外网,因此在外边是不能够直接访问公司机器的。
  今天突然有一个想法,使用OutLook作为中转站,用EMail控制公司的机器。
  测试了一下还是可行的。
  1. 在公司机器上启动一个自己的代理,用来检测新邮件; Microsoft.Office.Interop.Outlook 是最好的选择
  

Code

            Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
            app.NewMail += new Microsoft.Office.Interop.Outlook.ApplicationEvents_11_NewMailEventHandler(app_NewMail);
  
  在app_NewMail中就可以根据Mail的内容做事情,比如我想把邮箱里没有阅读的邮件都转发到某个外部邮箱
  

Code
      void app_NewMail()
      {
                        Microsoft.Office.Interop.Outlook.NameSpace outlookNameSpace = app.GetNamespace("MAPI");
            Microsoft.Office.Interop.Outlook.MAPIFolder inbox = outlookNameSpace.GetDefaultFolder(
                Microsoft.Office.Interop.Outlook.
                OlDefaultFolders.olFolderInbox);
            Microsoft.Office.Interop.Outlook.Items items = inbox.Items.Restrict(" = true");
            foreach (Microsoft.Office.Interop.Outlook.MailItem mail in items)
            {
                if (mail.MessageClass == "IPM.Note" )
                {
                                             Microsoft.Office.Interop.Outlook.MailItem mailItem = ((_MailItem)mail).Forward();
                            mailItem.To = "xxx@xxx.com";
                            mailItem.Importance = Microsoft.Office.Interop.Outlook.OlImportance.olImportanceLow;
                            ((_MailItem)mailItem).Send();
                            mail.UnRead = false;
                }
            }  
  如果想进行更高级的操作,可以在mail中写好命令,启动PS来执行你的命令。
  总之,OutLook可以作为一个转发命令的中转站,这样就可以在远程的机器上做你想做的事情啦:)
页: [1]
查看完整版本: 使用OutLook远程控制机器