5

テキスト ファイルの内容を添付ファイルの本文として送信しようとしています。これは HP-UX では問題なく動作しますが、最近 RedHat Linux に移行したため、期待どおりに動作しなくなりました。

これが私のコマンドです

猫テスト.txt | mailx -sTest me@email.ca

「test.txt」に下位 ASCII 文字が含まれていれば、問題なく動作します。ただし、私のテキスト ファイルにはフランス語の文字が含まれている可能性があり、常に登録商標記号が含まれています。これらの文字を送信しようとすると、Linux が電子メールを添付ファイル (attxxxxx.dat の形式) に変換しているようです。添付ファイルにはすべてのデータが完全に形成されていますが、受信者は "dat" 添付ファイルではなく、単純なメールを望んでいます。環境変数を設定し、拡張文字セット コマンドを mailx コマンドに入れようとしましたが、役に立ちませんでした。

任意の提案やアイデアをいただければ幸いです。

4

3 に答える 3

2

ファイルのエンコーディングが、システムに設定されているロケール (man ロケール) と同じであることを確認してください。ファイルを (たとえば を使用して) 対応するロケールに変換するかiconv、システムのロケールを現在のファイル エンコーディングに設定します。さらに、ファイルから改行を必ず削除してください

cat test_1.txt | tr -d '\r' > test_2.txt;

その後、cat test_2.txt | mailx -s 'Test' me@email.ca;正しく動作するはずです。

于 2013-09-20T13:11:05.130 に答える
1

メールコマンドでファイルを送信する前に、以下の小さな perl スクリプトを使用することもできます

perl -pi -e 's/\r\n/\n/g' file_name
于 2016-06-28T07:21:59.837 に答える