gpt4 book ai didi

java - 在 Unix 中使用 Java 发送多封邮件

转载 作者:行者123 更新时间:2023-12-02 05:03:57 25 4
gpt4 key购买 nike

如何使用 Java 中的 Runtime 运行 Unix 程序?到目前为止,这就是我所拥有的一切。我的计划是使收件人邮件变得不同,以便我可以与不同的收件人循环运行此邮件。

Runtime run = Runtime.getRuntime();
Process mailx = run.exec("cat Docs/Mailmsgtmp.txt | mailx -s 'Subject' -r 'sender@mail.com' " + "reciever@mail.com");

最佳答案

不要使用Runtime.exec(),使用ProcessBuilder。哦,Java 也有发送邮件的库,所以你不需要使用外部命令......

无论如何,使用 ProcessBuilder 您可以轻松重定向标准输入,这意味着在您的情况下您可以这样做:

// recipient is the email address of the... recipient
final ProcessBuilder pb = new ProcessBuilder("mailx", "-r",
"sender@foo.com", recipient);

final Path textToSend = Paths.get("Docs/mailtext.txt").toRealPath();
pb.redirectInput(textToSend.toFile());

// Also redirect stdout and stderr somewhere

final Process p = pb.start();

return p.waitFor();

将此代码放入一个方法中,该方法可以是(为什么不可以)Callable 并检查返回代码。如果您想一次发送多封邮件,请使用 ExecutorService

参见here有关如何使用纯 Java 发送电子邮件的很多很多链接。

关于java - 在 Unix 中使用 Java 发送多封邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27981209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com