从 Jar 文件发送电子邮件 linux

Send email in linux from a Jar file

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

首先,我使用命令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.job 2015 年 4 月 14 日星期二 10:10:01

Return-路径:test@test.job

X-Original-To: 测试

已送达:test@test.job

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

发件人:“(Cron 守护程序)”test@test.job

收件人:test@test.job

X-Cron-环境:XDG_RUNTIME_DIR=/run/user/1254

X-Cron-环境:LANG=en_US.UTF-8

X-Cron-环境:SHELL=/bin/sh

X-Cron-环境:HOME=/home/test

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

X-Cron-Env:LOGNAME=测试

X-Cron-Env:用户=测试

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

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

知道发生了什么吗?

谢谢

有 crontab 运行 但没有加载您当前的配置文件,很可能您的 jar 执行缺少一些全局 variables/settings。 不要只称你为 jar,你应该事先加载你当前的配置文件如下,并最终保存日志以供进一步分析:

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

我怀疑你的路径设置不正确,cron 在它自己的 bash 配置文件中运行,请尝试 java

的完整路径