- PR -

unixのmailコマンドで添付ファイルを送信したい

1
投稿者投稿内容
miyavi
常連さん
会議室デビュー日: 2006/12/07
投稿数: 27
投稿日時: 2008-08-13 13:26
お世話になります。

UNIX関係の会議室がなかったので,こちらに失礼致します。

現在UNIXのSolaris9を利用しており,標準のmailコマンドでバッチ処理完了情報を送信しております。

送信内容は全てメール本文内に入力しているのですが,
情報が多くなってきた為,添付ファイルを付加して送信する方法を検討しています。

ネットで色々調べたところ,以下サイトに送信方法が載っていたのですが,
テスト用のCSVファイルを作成し送信したところ,
添付ファイルの無い文字化けメールが送信されてきました。
http://www.ksknet.net/linux/mail.html

実際に実行したコマンドはこのような感じです。
uuencode /TEST_DIR/ HOGE.CSV | mail -s 'TEST_MAIL' hoge@test.jp

結果から察すると,受信側(WindowsXP)のメールソフト(Outlook2003)は,
添付ファイルが届いたという認識をしていない,となります。

どなたか,UNIXのmailコマンドを用いて添付ファイルの送信方法をご存知の方
おられますでしょうか。

よろしくお願い致します。
うっちー
常連さん
会議室デビュー日: 2004/08/12
投稿数: 32
投稿日時: 2008-08-13 15:43
こんちには

コマンドの誤りではありませんか?

---
uuencode [添付ファイルパス] [添付ファイル名] | mail -s "hoge" hoge@example.com
---
スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2008-08-13 16:10
uuencodeを使った方法は現在一般的なMIMEによるファイル添付ではありません。ファイルをテキストにしてメール本文に書いているだけで、そのメールからファイルを取り出すにはuudeocodeコマンドを使う必要があります。

UNIXのmailコマンドでMIMEによるファイル添付に対応しているものは見たことがありません。Solarisはわかりませんが、LinuxやBSDに付いているmailコマンドではできないと思います。
miyavi
常連さん
会議室デビュー日: 2006/12/07
投稿数: 27
投稿日時: 2008-08-13 19:13
ご回答ありがとう御座います。

>うっちー様
ご指摘の内容を確認致しましたが,
どちらもタイトルが正しく表示されない状況です。
シングル・ダブルコーテーション共に,タイトルが無記入となります。

但し,メール送信は行われました。

>スフレ様
uuencodeでバイナリファイルをアスキー変換し,そのデータをそのまま送信できれば,
outlookはuudecodeに対応しているらしいので,
添付ファイルとして認識出来るのでは,と考えております。

ただ,MS Exchange Serverの仕業か,送信したテキストデータが勝手にhtmlにコンバートされており,
アスキーデータを一部破壊しているようです。
その為,uudecodeが正しく機能しないのではと考えています。

メールを受信する際は,MS Exchange Serverを通すのが原則となっている為,
添付ファイルを諦めるしかないのでしょうか。

強引にMIMEで送信する方法など,ご存知の方がおりましたら
引続き情報を頂けると幸いです。
NeXT
大ベテラン
会議室デビュー日: 2004/04/06
投稿数: 215
お住まい・勤務地: 江戸
投稿日時: 2008-08-13 23:48
専らデコードにしか利用したことはないのですが,
mpack/munpack を利用してみては如何でしょうか。
ftp.andrew.cmu.edu:pub/mpack/

他にも perl や Ruby を利用する方法もあるようです。
http://sonic64.com/2003-12-12.html
…etc
1

スキルアップ/キャリアアップ(JOB@IT)