mailxを使用して添付ファイルをメールで送信するBashスクリプト
-
27-10-2019 - |
質問
postgresでクエリを実行するbashスクリプトがあり、csvに出力します。そのスクリプトに追加して、mailxを使用してその.csvファイルを特定の電子メールに電子メールで送信したいと思います。
私が抱えている問題は、ファイルが電子メールで送信されないことです。メールを受け取ることができるので、mailxが正しく設定されていることがわかります。添付ファイルとしてメールで送信することはできません。また、メールの本文に出力をメールで送信することもできます。
これがコードです。 ジェネラコディセタグプレ
私はmailxの部分を次のように試しました: ジェネラコディセタグプレ
および ジェネラコディセタグプレ
したがって、私が得る問題は、.shファイルを実行するとこのエラーが吐き出されることです。 ジェネラコディセタグプレ
解決
それはあなた次第ですが、ISO-8601形式のYYYY-MM-DD(%Y-%m-%d
)の使用を検討してください。他の利点の中でも、それはうまく分類されます。
ジェネラコディセタグプレ
これは最初の2行を削除するのではなく、2行目を削除するだけです。 '2d'
を'1,2d'
に変更します(ただし、以下を参照してください)。
これにより、ファイルが適切に変更されることに注意してください。 ジェネラコディセタグプレ
uuencode
にファイル名が1つだけ指定されている場合、標準入力から読み取り、その名前を出力に入れます。次のテキスト「mailxの部分を次のように試しました:」...は、おそらくこれを認識していることを示していますが、スニペット以外でこの問題を修正するコードを示していません。>
表示されるエラーメッセージ: ジェネラコディセタグプレ
ファイルが存在しない場合に通常得られるものではありません。そのような「不明なシステムエラー」の原因がわかりません。
ただし、(a)少しクリーンなIMHOであり、(b)ファイルの読み取りを試行するためにuuencode
を必要としないという代替案があります。
ジェネラコディセタグプレ
他のヒント
問題がuuencodeにある場合...なぜmailxを試すことができないのですか?ファイルをメールに添付することもできるオプションです。
詳細については、この
同じ問題がありました。クエリを実行し、csvファイルを保存してメールで送信するbashスクリプト。私の場合、それはuuencode: fopen-ing /tmp/folder/file-01-11-2011.csv: Unknown system error
を与えました
kshシェルを使用してスクリプトを実行したところ、問題なく完全に正常に機能しました。このように--ksh script.sh
これは単なる別のポインタです。uuencodeでエラーが発生した場合は、kshを使用して実行してみてください。それはあなたのために働くかもしれません。