1. ホーム
  2. linux

[解決済み】Linuxのコマンドラインを使用して、電子メールの添付ファイルとしてファイルを送信する方法は?

2022-03-30 12:33:31

質問

Linuxサーバーで毎晩実行されるスクリプトを作成しました。 mysqldump を使用して、各 MySQL データベースを .sql ファイルにバックアップし、それらを圧縮された .tar ファイルとしてまとめています。 次のステップは、そのtarファイルを電子メールでリモートの電子メールサーバーに送信し、保管することです。 バックアップ・テキスト・ファイルを mailx というように。

$ cat mysqldbbackup.sql | mailx [email protected]

cat は、バックアップファイルのテキストをエコーし、それを mailx のプログラムに、引数として受信者の電子メールアドレスを渡す。

これで必要なことは達成されましたが、もう一歩良くすることができたと思います。 シェルスクリプトなどを使って、圧縮された.tarファイルを送信メールに 添付ファイル ? これにより、ヘッダーデータを含む非常に長いメールメッセージに対処する必要がなくなり、しばしばワードラッピングの問題などが発生することもなくなります。

解決方法は?

muttのものはどれもうまくいきませんでした。 電子メールアドレスが添付ファイルの一部だと思い込んでいたようです。そうしなければなりませんでした。

echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- [email protected]