1

我编写了一个请求程序,其中包含定期发送邮件。我正在使用 cron 来激活请求。这个 cron 作业执行正确,但我没有收到任何邮件。

为什么?

4

3 回答 3

0

当 cron 启动您的应用程序时,它可能不会使用 java 设置初始化系统变量。如果您使用“su - username”启动您的应用程序,则会在启动命令之前启动配置文件脚本。如果您需要启动您的应用程序,例如每 5 分钟一次,请执行以下操作:

运行crontab -e命令。默认文本编辑器将启动。

在编辑器的最后一行输入 */5 * * * * su - username -c "java -jar MyApp.jar > /tmp/app.log 2>&1" 对应的路径。

于 2013-08-08T10:41:04.893 回答
0

你的邮件服务器支持 ipv6 吗?可能不是,并且您已经使用

 -Djava.net.preferIPv4Stack=true

环境。它不是 Java 中的默认设置,因此 syscron 用户可能没有配置它。将其添加到您使用 syscron 启动的命令行中,您的程序将使用 ipv4。

邮件发送失败,SMTP 无法连接

https://www.java.net//node/703177

于 2013-06-28T16:27:35.180 回答
0

我有完全相同的问题。尝试在其他用户的环境中启动您的 java 应用程序。它帮助了我。

#!/bin/sh
su - user1 -c "java -jar MyApp.jar > /tmp/app.log 2>&1"
于 2013-07-25T05:54:33.357 回答