我有一个bash脚本在postgres中运行查询,它输出到csv。我想添加到该脚本来使用mailx将.csv文件发送到特定的电子邮件。Bash脚本使用mailx邮件附件
我遇到的问题是它不会通过电子邮件发送文件。我可以收到电子邮件,所以我知道mailx设置正确。我无法通过电子邮件将它作为附件发送给我。它也可以通过电子邮件发送电子邮件中的输出。
所以这里是代码。
#!/bin/bash
NOWDATE=`date +%m-%d-%Y`
PGPASSWORD=password psql -w -h host -p 5432 -d database -U user -o /tmp/folder/file-$NOWDATE.csv <<EOF
Query is here
# remove the first 2 lines of the report as they are headers
sed -i '2d' /tmp/folder/file-$NOWDATE.csv
uuencode /tmp/folder/file-$NOWDATE.csv | mailx -s "Accounts No Credit Card Report for '$NOWDATE'" [email protected]
我曾尝试与mailx的部分:
uuencode /tmp/folder/file-$NOWDATE.csv /tmp/folder/file-$NOWDATE.csv | mailx -s "Accounts No Credit Card Report for '$NOWDATE'" [email protected]
和
uuencode /tmp/folder/file-$NOWDATE.csv file-$NOWDATE.csv | mailx -s "Accounts No Credit Card Report for '$NOWDATE'" [email protected]
所以我得到的问题是,当我运行sh文件就吐出了这个错误。
uuencode: fopen-ing /tmp/folder/file-01-11-2011.csv: Unknown system error
路径'/ tmp/folder/file- $ NOWDATE.csv'是否正确?在你有这个文件的地方做一个'pwd'并仔细检查。当'/ path/to/file'不存在时发生此错误。 – 2012-01-11 22:33:39
此外,'sed -i'2d'filename'删除第二行,而不是**前两个。为了删除前两行,你需要执行'sed -i'1,2d'filename' – 2012-01-11 22:37:21
Jaypal。我同意评论是错误的我发现我只需要删除第二行...我先删除了第一个和第二个。大声笑...好吧,我会检查出来。 – DoCnTex 2012-01-11 22:39:08