shell 脚本中的 Mailx 调用突然发送空白消息

shell 脚本中的 Mailx 调用突然发送空白消息

与帖子中报道的内容类似,MAILX 发送一封电子邮件,但主题和正文为空,我有一个 Oracle EBS 12.2 服务器,它使用并发程序 (java) 来调用使用 mailx 发送电子邮件的 shell 脚本。该脚本执行一些操作,将输出写入文件,然后使用 mailx 将文件内容发送到地址列表。直到两周前,它还可以正常工作,但现在已更改为发送没有主题、没有 To: 标头、也没有正文的消息。

从命令行调用脚本工作正常,按预期发送消息。脚本中的 mailx 调用如下所示:

cat /tmp/file.tmp | mailx -s "Subject of message for ${TODAY}" $recipient

在并发程序的日志中,我已经确认 file.tmp 的内容是正确的, ${TODAY} 计算正确,并且我知道 $recipient 是正确的,因为我收到了(空)消息。我还尝试检查 ${PIPESTATUS} ,这很好,将文件重定向为输入而不是 cat'ing,并向 mailx 发送一个简单的回显“hello”,当从 java 程序调用时,它们都会发送一条空白消息,但在 linux shell 中表现正常。

运行环境:RHEL8 上的 EBS 12.2.8。外壳是/bin/bash。

我知道这里没什么可说的,但试图弄清楚 mailx 是如何做到这一点的发送一条这样的空消息,希望它能够指出我的问题。

相关内容