关于使用cron发送邮件

时间:2013-06-26 03:20:02

标签: google-app-engine cron javamail

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

为什么?

3 个答案:

答案 0 :(得分:0)

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

设置了你的配置
 -Djava.net.preferIPv4Stack=true

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

Mail Sending fails with SMTP fails to connect

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

答案 1 :(得分:0)

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

#!/bin/sh
su - user1 -c "java -jar MyApp.jar > /tmp/app.log 2>&1"

答案 2 :(得分:0)

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

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

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