Perlスクリプトでファイルをエンコードするには?

[上に] [前に] [次に]
eXor 1999/12/09(木) 17:49:36
 Perlスクリプトで、同一ディレクトリに置いておいたファイルをエンコードして、
sendmailを使ってメールとしてファイルを送信したいのですが。
 そのような事が可能なライブラリ等、どなたかご存じありませんか?

ふじ 1999/12/09(木) 18:29:02
MIME::Lite
ってのがあります。

eXor 1999/12/09(木) 18:37:48
 間違えて、同じ質問を再度投稿してしまいました。
 皆様失礼いたしました。

 ふじさん、早速の解答ありがとうございました。
 なんとか探し出してみます…。

 見つけだせた時に解決のチェックボタンを押したいと思います。

ふじ 1999/12/09(木) 18:50:12
CPAN にあります。
http://www.perl.com/CPAN
ここから、ご自分のネットワーク的に近いところへどうぞ。

#探すのが面倒なら(^^; ↓
ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/modules/by-module/MIME/

eXor 1999/12/09(木) 19:11:02
 お陰様でMIME::Liteは発見できました。
 が、恥ずかしながらモジュールとは何か分からずに悩みました。
 あちこち調べ回って、ようやくモジュールがどういうものか分かり
かけてきましたが…サーバに組み込む感じのもの…なのでしょうか?

 とりあえず、もう少し色々調べたいと思います。
 ただ、なんとなく設置できなさそうな(レンタルサーバですし)。

ふじ 1999/12/09(木) 19:29:47
telnet でシェルが使えるなら、

../199911/99110255.htm

こちらなど参考にすれば出来るかも。

お馬さん 1999/12/10(金) 03:18:58
[sendmail]で検索したら、
http://www.tohoho-web.com/lng/199802/98020900.htm
こちらにありましたので、ご参考にしてみてください。
んでもって、こちらが紹介されている、
MIME・BASE64のエンコード&デコードライブラリ↓
http://www.cc.rim.or.jp/~ikuta/mime_pls/index.html

eXor 1999/12/10(金) 15:27:36
 お二人ともありがとうございます。

 レンタルサーバはTelnet不可で。
 直接ファイルを該当ディレクトリに入れるのも無理っぽくて。
 モジュールの方は諦めた方がいいのかもしれません。

 お馬さんに紹介して頂いたライブラリはファイルのエンコード
に使えるかどうかは分からないのですが、便利そうなライブラリ
なので、有効に使いたいと思います。

ふじ 1999/12/10(金) 15:40:28
まずはダメもとで管理者に「モジュール入れて」って頼んでみるとか。

それがダメなら、自力でやるしかないですかね。
過去に同じような記事がありますので
http://hachi/cgi-bin/www_lng.cgi/wwwlng/199804/98040077.txt

バイナリのファイルを添付する場合は、mime_pls 等で
BASE64エンコードして、マルチパート部分のヘッダを

Content-Disposition: inline; filename="test.gif"
Content-Transfer-Encoding: base64
Content-Type: image/gif; name="test.gif"

こんな風に付けます。

ちょっと長いけど、うちで MIME::Lite ででっち上げた
マルチパートのメールのソースを以下に。
From と To を変えて sendmail に喰わせれば
test.gif て添付ファイルのついたメールが送れるはずです。


Content-Transfer-Encoding: binary
Content-Type: multipart/mixed; boundary="_----------=_944807526296230"
MIME-Version: 1.0
X-Mailer: MIME::Lite 1.135  (B2.11; Q2.03)
From: test@test.com
To: test@test.com
Subject: Perl =?ISO-2022-JP?B?GyRCJEskaCRrJV4layVBJVEhPCVIJWEbKEI=?=
        =?ISO-2022-JP?B?GyRCITwlayROJUYlOSVIJEckOSEjGyhC?=

This is a multi-part message in MIME format.

--_----------=_944807526296230
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=iso-2022-jp

Here's the GIF file you wanted 日本語もいれてみよう。
--_----------=_944807526296230
Content-Disposition: inline; filename="test.gif"
Content-Transfer-Encoding: base64
Content-Type: image/gif; name="test.gif"

R0lGODlhZABkALP/AP///86lpc6UlN5zc+9CQvcYGP8AAAAAAMDAwAAAAAAA
AAAAAAAAAAAAAAAAAAAAACH5BAEAAAgALAAAAABkAGQAQAT/EMlJq7046827
/2AojmRpnmiqrmzrvmRgzHRtSIQxIINBXD1DQCKYFY5I5G4iGDifTkMBCn3l
bDUBT7f9TQLDnpeSW2bE4HSvkE4XDNoWWCJGBARD5tEH5FfKI0VjMISFhoeI
iYqLjI2Oj5CRkpOUlZaXmBV1GQFOGQRmCAUEeSICo4hBWDagXJsTV3xXQ4Aa
PaEIghY5cSxvWpu8XcMWr7A+BMnJuBi6mc/Q0dLT1NXW19jZ2tvc3d7f4OHi
4yMyBcQUA6DomlITxiHOhwTnRH7prvfvM15FOmVt5uAbpSyZlILJfhWCt2XH
Kxk+6qg7hmVQwwpF6lFQ2EJYMDgX/xnm0ocjIpV2UpK8SZlkRq8VHmW5bGeR
DkkEteK5yySQnM+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3UqN
XpOb+GpKgBjHX4mMinIQPKjMpkOworhIeMPsgzxDOUCpk1JlmMg3Y1aumhFK
1eBVL1HcGSCgsZjGkAMAYrjyRwDAOOV+0myvprAV6pTtIUhPLx9jQQAHWZJX
nevE8O6WTJzCCSi1tgfQyjfoSKebraEkztl5F8iOEXEPUCgRLEPifQ4Ppo0i
phdhk50DX6WxJC7ZuXS7sD73+D6xzznbhWsFZJ2VxbR7Vu8BfCr2NOqmr8vB
Ptf/AAYo4BOABBZo4IEIJqjgggw26OCDh0QAADs=

--_----------=_944807526296230--

ふじ 1999/12/10(金) 15:44:17
すみません。URL 間違い。
#ローカルの URL 書いちゃった(^^;;

> 過去に同じような記事がありますので
> http://hachi/cgi-bin/www_lng.cgi/wwwlng/199804/98040077.txt
../199804/98040077.htm

eXor 1999/12/10(金) 22:09:28
[[解決]]
 今回の質問では色々と有り難うございました。
 私、まだ未熟ではありますが、ご回答を参考に頑張って行きたいと思います。

#…どうしても行き詰まったらその時は、できればまたご教授・ご鞭撻のほどを^−^;

[上に] [前に] [次に]