我正在尝试通过Java程序从Unix Shell发送邮件。我使用Apache commons exec执行此操作。

该命令是

mutt  -s "Subject of mail" [email protected] < file.txt


我使用的Java代码是

CommandLine cmdLine = CommandLine.parse("mutt");
cmdLine.addArgument("-s");
cmdLine.addArgument("Subject of mail");
cmdLine.addArgument("[email protected]");
cmdLine.addArgument("<");
cmdLine.addArgument("file.txt");
DefaultExecutor executor = new DefaultExecutor();
int exitValue = 0;
try {
    exitValue = executor.execute(cmdLine);
} catch (IOException e) {
    e.printStackTrace();
}


但是此代码不起作用。如何使用Java进行输入重定向

最佳答案

尝试
 executor.getStreamHandler().setProcessInputStream(new FileInputStream("file.txt"))

但要注意文件路径

09-26 20:19