我正在尝试通过java程序从Unix shell发送邮件。我使用Apache commons exec来做到这一点。
命令是
mutt -s "Subject of mail" email@domain.com < file.txt
我使用的Java代码是
CommandLine cmdLine = CommandLine.parse("mutt");
cmdLine.addArgument("-s");
cmdLine.addArgument("Subject of mail");
cmdLine.addArgument("email@domain.com");
cmdLine.addArgument("<");
cmdLine.addArgument("file.txt");
DefaultExecutor executor = new DefaultExecutor();
int exitValue = 0;
try {
exitValue = executor.execute(cmdLine);
} catch (IOException e) {
e.printStackTrace();
}
但是这段代码不起作用。如何使用java进行输入重定向
答案 0 :(得分:2)
尝试
executor.getStreamHandler().setProcessInputStream(new FileInputStream("file.txt"))
但请注意文件路径