|
初めて掲示板を利用させていただきます。 POP3サーバーのメールをWWWブラウザインタフェースで読み出すCGIを作っています。「POP3クライアントを作ってみよう(1)(2)(3)」を利用させていただき、あらかたの処理ができるようになりました。 感謝いたします。 早速の質問ですが、Subject及び添付ファイルのファイル名に日本語が使われているとき、nkfでの変換を照会されていますが、ntfの組み込みの方法についてアドバイスいただければ幸せです。 Linuxではnkf17をうまくインストールできた(まだ試験はしていない)のですが、WindowsNTへのインストール方法がわかりません。 WindowsNTでもLinuxと同じようにできるのでしょうか。 Makefileのshar:以降の書き換えでいけるのでしょうか。それともSystemコールでnkf32.exeを使うのでしょうか。 初心者に毛の生えたレベルでやっています。方法またはその方法がかかれたURLがありましたら教えてください。 |
|
nkfについての質問(追伸) こちらのシステムの説明が抜けていました。 WindowsNT4 IIS3 perl5.005_03(ActivePerl Build 513)+DBI+DBD-ODBC です。 |
|
> WindowsNTでもLinuxと同じようにできるのでしょうか。 Cコンパイラはお持ちですか? あるならソース持ってきてコンパイルすればいいでしょうけど、 コンパイラがないならバイナリインストールすればいいです。 ただ、nkf -m でやるなら テンポラリファイル経由でデータを受け渡したり、 IPC::Open2 などを使わなきゃいけないので面倒です。毎回プロセスを起動しなければ いけないので重くなりますし。 なので、http://www.cc.rim.or.jp/~ikuta/mime_pls/ を持ってきて require 'mimer.pl'; $data = &mimedecode($data,'EUC'); とした方がいいと思います。 http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1999-09-16 に書いた MIME エンコードの逆ですね。 |
|
突然現れて質問ばかりで申し訳ありません 今一つ教えてください データーを分割して自動で読み取る為には? たとえば1000のデータが入った@DATAがあるとします このデーターを100ずつ順に読み取るには read,seekを使って読み取る事は、可能だと思いますが 順に100ずつ1000のデータを読み取るにはどのような方法があるでしょうか よろしくお願いいたします |
|
> たとえば1000のデータが入った@DATAがあるとします 配列 @DATA に既にデータが入っているのですか? なら splice を 使えばいいでしょう。「100ずつ順に」*何をしたいのか* が わからないので、これ以上はなんとも言えません。 read/seek は、配列 @DATA が空で、ファイルから @DATA に 読み込むときに使うものです。でもまぁ perl なら、わざわざ read/seek のような低レベルな関数を使う必要はないでしょう。 |
|
ありがとうございます 実は、前の質問と関連がありまして データーに入ったメールアドレスをBCCで送信する際に 一度に多くのデーターを打ち込むとサーバに負担が掛かると思い たとえば100ずつ読み込んで送信をしたいというわけなんです 一般的に一度にどれくらいのBCCだったら遅れるんでしょうか? サーバのレスポンスも関係があると思いますが・・。 |
|
@DATA に1000個入っていて、100ずつ送信したいなら while (@DATA){ @addrs = splice(@DATA,0,100); $CC = join(",\n ",@addrs); メール送信 } でいいです。 でもまぁ、1000 送るならそれなりに時間がかかりますが、負荷がうんぬんと いうよりは、SMTPサーバが DNS(MX)引いて 相手先に connect して SMTP しゃべって 本文を送る のに時間がかかる、という感じでしょうか。ほとんどは相手を待ってるだけです。 別に1000個 Bcc が書いてあっても、並行して1000のコネクションを 張るわけではないので(SMTPサーバの仕様にもよりますが)、マシンの 負荷はそんなに気にしなくてもいいでしょう。 それでも1000は多いと思うなら、100ごとに分割すればいいんじゃ ないんでしょうか。ただしテストは入念にやって下さい。 |
|
68userさん 重ね重ねありがとうございます 十分検討&テストしてやってみます 本当にありがとうございます |
|
本日付けで復帰しました でも、CGIの使えないallesでした。(w テレホの都合上。一年はアレスです。 webpageを一応作るので、リンクさせて下さいね。 友達のwebspaceを借りる予定なのでcgiは諦らめてません!! あと、質問なんですけど、systemfileのddlem.dll ってファイルが起動するたびに、「壊れています」と言う表示が出ます 不都合はないんですけど、これって大事なファイルですか? スキャンかけてもエラーが出ないんですけど。 |