web-dev-qa-db-ja.com

RHEL-Uuencode + mailx =意味不明

uuencodeはファイルのエンコード用であり、mailxはメールを送信することを理解しています。しかし、私は正確に理解していません...

  1. なぜ uuencode file file | mailx -s "subject" email_adressは、添付ファイルとしてではなく、メール内にエンコードされたコンテンツを含むメッセージを送信し続けます。 (そしてそれを修正する方法...)
  2. 私が試してみました echo | mailx -s "subject" -a <file> <email_address>と私のファイルをうまく取得するように見えた。しかし、これはエンコーディングの保護がない、または-aあげますか?
  3. より良い代替案があるかもしれないと私はすくった。これは本当に行く方法ですか?私は* nix側に特に流暢ではありません。..muttは、始めるのに良い場所ですか?他に提案はありますか?

これはRHEL 6.4、uuencode(GNU sharutils)4.14にあります

更新

mailxバージョンがHeirloom Mailバージョン12.4 7/29/08であることは重要ですか?問題は、mailxuuencodeの出力をどのように処理するか、動作の違いですか? mailrc設定か、いくつかの環境変数ですか?

まあ、私は別の post を見つけました。メールヘッダーの詳細があるようです...この問題をより理解するのに役立つので、ここにリンクを保持しています。

6
user1766760

パイプは、ストリームをstdinに送信します。これは、メッセージのコンテンツだからです。 -aは、base64でエンコードされる添付ファイルを作成します-基本的にuuencodeと同じです。

3
Ricky Beam

Uuencodeはバイナリデータをテキストに変換します。これは、バイナリファイルを電子メールで送信するために使用された最初の方法でした(uuencodeの使用法の1つにすぎません)。 Uuencodeはメールを保護しません。

次に、メールの本文と添付ファイルを定義するMIMEが発明されました。

MIMEメールを送信するには、私はmpackを使用します

mpack -s "subject" -d description_file file address1 address2...

description_fileは電子メールのテキストです(オプション)
fileは添付ファイルです

2
Emmanuel

Emmanual と正しく述べられているように、ほとんどのモーデンスのUnicesで送信されるMIME添付ファイルを取得する唯一の同じ方法は、mpackを使用することです。 mpackを使用すると、大量の欠点がありますが、添付ファイルとして1つのファイルに制限されます。

複数のファイルを送信したい場合、私が見つけた最良の解決策は、組み込みのemailモジュールを使用してメーリングを行う Python wrapper を記述することです。

0
Eugéne