从Jar文件中发送linux中的电子邮件

时间:2015-04-13 19:54:30

标签: java linux email jar

我一直在尝试在linux中安排一个工作来运行一个用Java编写的可运行的jar文件,它会发送电子邮件。

首先,我使用命令Java -jar /usr/test/test.jar来运行jar文件。它运作良好,并发送电子邮件到我的Gmail帐户。

然后我使用crontab计划每10分钟运行一次作业。代码为0,10,20,30,40,50 * * * * java -jar /usr/test/test.jar

它没有像我预期的那样工作。我的Gmail中没有收到任何电子邮件。但我检查/ var / spool / mail。我在那里看到了一封新邮件。

我的问题是如何在将其作为工作安排时在我的Gmail中收到电子邮件。

更新: 我通过/ var / spool / mail中的电子邮件进行观察。这是消息之一:

来自test@test.job 2015年4月14日星期二10:10:01

Return-Path:test@test.job

X-Original-To:测试

Delivered-To:test@test.job

收到:test.job(Postfix,来自用户ID 1254)         id B7D276B1E8D;星期二,2015年4月14日10:10:01 -0600(MDT)

来自:“(Cron Daemon)”test@test.job

收件人:test@test.job

X-Cron-Env:XDG_RUNTIME_DIR = / run / user / 1254

X-Cron-Env:LANG = en_US.UTF-8

X-Cron-Env:SHELL = / bin / sh

X-Cron-Env:HOME = / home / test

X-Cron-Env:PATH = / usr / bin:/ bin

X-Cron-Env:LOGNAME = test

X-Cron-Env:USER = test

消息标识号:20150413195002.0E0356E778C@test.job 日期:星期一,2015年4月13日13:50:02 -0600(MDT)

/ bin / sh:java:找不到命令

知道发生了什么事吗?

由于

2 个答案:

答案 0 :(得分:1)

我怀疑你的路径没有正确设置,cron在自己的bash配置文件中运行,尝试java的完整路径

答案 1 :(得分:0)

crontab在没有加载当前配置文件的情况下运行,很可能你的jar执行缺少一些全局变量/设置。 您应该先加载当前的配置文件,然后保存日志以进行进一步分析,而不是仅仅调用您的jar:

0,10,20,30,40,50 * * * * . ~/.profile; java -jar /usr/test/test.jar &>>/path/lo/log.log