我有一个bash脚本,可在postgres中运行查询,并将其输出到csv。我想添加到该脚本以使用mailx将.csv文件通过电子邮件发送到特定电子邮件。

我遇到的问题是它不会通过电子邮件发送文件。我可以收到电子邮件,所以我知道mailx设置正确。我只是无法通过电子邮件将其作为附件发送。它还可以在电子邮件正文中通过电子邮件发送输出。

这是代码。 通用标签

我尝试了以下mailx部分: 通用标签

通用标签

所以我遇到的问题是,当我运行.sh文件时,它会吐出此错误。 通用标签

有帮助吗?

解决方案

通用标签

由您决定,但可以考虑使用ISO-8601格式YYYY-MM-DD(%Y-%m-%d)。除其他优点外,它还可以很好地排序。 通用标签

这不会删除前两行,而只会删除第二行。将'2d'更改为'1,2d'(但请参见下文)。

请注意,这会修改文件。 通用标签

如果只给uuencode一个文件名,它将从标准输入中读取并将该名称放入其输出中。您接下来的文字“我已经尝试过mailx的部分:” ...,表示您可能已经意识到了这一点-但除了片段以外,您没有向我们展示解决此问题的代码。

您收到的错误消息: 通用标签

不是如果文件不存在,通常会得到什么。我不知道是什么原因会导致这样的“未知系统错误”。

但是这里有一个替代方案,(a)有点恕我直言,并且(b)不需要uuencode来尝试读取文件: 通用标签

其他提示

如果问题出在uuencode上...为什么您不能尝试mailx-也可以将文件附加到邮件的选项。 检查此链接以获取更多信息。

我有同样的问题。一个bash脚本,用于执行查询,保存csv文件并将其邮寄。在我的情况下,它给出了uuencode: fopen-ing /tmp/folder/file-01-11-2011.csv: Unknown system error

当我使用ksh shell执行脚本时,它运行良好,没有任何问题。这样-ksh script.sh这只是另一个指针。如果uuencode给出错误,请尝试使用ksh执行;它可能为您工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top