Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解析通过电子邮件发送的命令_Java_Email - Fatal编程技术网

Java 解析通过电子邮件发送的命令

Java 解析通过电子邮件发送的命令,java,email,Java,Email,我真的不确定我应该在哪里发布这篇文章,但是如果这是一个错误的地方,有人能告诉我在哪里可以得到答案吗?我希望能够向我的电子邮件地址发送命令,并在发送消息时解析和执行这些命令。即,我发送了一封电子邮件,其中包含以下内容: public class sentThruEmail { public static void main(String[] args) { System.out.println("Hello"); } } 我希望将我的程序配置为

我真的不确定我应该在哪里发布这篇文章,但是如果这是一个错误的地方,有人能告诉我在哪里可以得到答案吗?我希望能够向我的电子邮件地址发送命令,并在发送消息时解析和执行这些命令。即,我发送了一封电子邮件,其中包含以下内容:

  public class sentThruEmail {
      public static void main(String[] args) {
          System.out.println("Hello");
      }
  }
我希望将我的程序配置为识别新电子邮件何时来自发送地址,打开它,编译它(在本例中编译java),然后在程序运行的机器上执行它。 我怎么才能开始弄清楚怎么做呢?任何帮助都会很好,谢谢


编辑:或者第一步可能是如何识别从某个地址收到的电子邮件?在Java中,我如何才能做到这一点:识别收到了一封电子邮件,并将一些信息输出到屏幕以提醒事实。

这将是一个非常糟糕的主意。盲目地接受来自不可信来源的电子邮件,编译并执行它是一个巨大的安全漏洞。

但是如果你想这样做,请查看套接字编程,因为你需要连接到你的电子邮件提供商(如果他允许终端登录)

这其中有几个部分需要考虑:

安全性

正如其他人提到的,这里需要考虑安全风险。如果这让你担心(而且应该如此),你可能需要考虑以下几个方面:

  • 对这些“命令”电子邮件进行数字签名,并在查看电子邮件之前验证签名
    • 这是一个流行的选择
  • 在“沙箱”环境中运行您的程序(读取电子邮件),例如在
  • 只运行一组非常有限的命令—可能只是您发明的命令
获取邮件

考虑到安全问题,如果您仍然想这样做,您将需要您的程序来读取邮件

您可能希望使用IMAP或POP进行此操作

解析

一旦你有了邮件,你需要解析内容。 如果只发送代码,您可以直接编译它。 您还可以将代码作为带有特定MIME类型的附件发送以标识它。这样,您仍然可以发送一封“正常”的电子邮件(可能带有关于此代码用途的注释),但您的程序将能够清晰地分离代码

响应

您将如何反馈结果?还是你在乎

您可能希望发送回复电子邮件(使用SMTP)或更新网页。网页很好,因为如果您在本地运行web服务器,您可以直接编写文件

示例

  • 标准的“确认电子邮件”系统与您描述的有很多相似之处。有人向一个自动化系统发送电子邮件,它阅读、处理并回复。搜索一下这些系统,我相信你会开始的

  • 我创建了这个项目,它完成了您描述的大部分内容(但使用Perl)。它只接受一小部分有限的命令,但它会监听IMAP上的电子邮件地址,解析文本,更新数据库,等等


拜托,我不是在专业水平上这么做的。我(显然)是个业余爱好者。我只是想知道,当我是发送电子邮件的人时,如何开始这样做。它会解析这个,所以我想我会依赖gmail的安全性。谢谢你,正如我上面所说的,我这么做只是出于阴谋。这不是为了“商业”的缘故。那么,像gmail这样的桌面程序如何不存在安全风险呢?(至少在我的编辑方面,它也会做同样的事情,当你收到新邮件时会提醒你。)