我正在尝试通过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"))
但要注意文件路径