我真的不确定我应该在哪里发布这个,但如果这是错误的地方,有人可以指导我在哪里可以得到答案吗?我希望能够将命令发送到我的电子邮件地址,并在发送消息时解析并执行命令。即我发送了一封电子邮件,其中包含:
public class sentThruEmail {
public static void main(String[] args) {
System.out.println("Hello");
}
}
我想配置我的程序以识别新电子邮件何时来自发送的地址,打开它,编译它(在这种情况下编译java)然后在运行该程序的机器上执行它。 我怎样才能弄清楚如何做到这一点?任何帮助都会很精彩,谢谢!
编辑:或者第一步可能是如何识别从地址收到的电子邮件?在Java中,我怎么能这样做:识别收到一封电子邮件并向屏幕输出一些内容以提醒事实。
答案 0 :(得分:2)
这将是一个非常糟糕的主意。盲目地接受来自不受信任来源的电子邮件,编译它并执行它是一个巨大的安全漏洞。
答案 1 :(得分:1)
但如果您想这样做,请查看套接字编程,因为您需要连接到您的电子邮件提供商(如果他允许终端登录)
答案 2 :(得分:1)
有几个部分需要考虑:
安全强>
正如其他人所说,这里有安全风险需要考虑。如果这让您担心(并且它应该!),您可能需要考虑以下某些事项:
获取邮件
如果你仍然想这样做,考虑到安全问题,你需要程序来阅读邮件。
您可能希望使用IMAP或POP。
<强>解析强>
收到邮件后,您需要解析内容。 如果你只是发送代码,你可以直接编译它。 您还可以将代码作为附件发送,并使用某种MIME类型来识别它。这样你仍然可以发送一个“正常”的电子邮件(可能有关于此代码的用途的评论),但是你的程序将能够干净地分离代码。
<强>响应强>
您将如何回复结果?或者你在乎吗?
您可能希望发送回复电子邮件(使用SMTP)或更新网页。一个网页很好,因为如果你在本地运行Web服务器,你可以直接写一个文件。
<强>实施例强>
标准的“确认电子邮件”系统与您描述的内容有很多相似之处。有人向自动化系统发送电子邮件,它会读取它,进行一些处理并回复。搜索这些系统,我相信你会开始使用。
我创建了Exquisite Corpse Emailer项目,该项目完成了您描述的大部分内容(但在Perl中)。它只接受一小组有限的命令,但它会侦听IMAP上的电子邮件地址,解析文本,更新数据库等等。