68user's page 掲示板

Prev< No. 698〜714> Next  [最新発言に戻る] [過去ログ一覧]
No. 698 # Fu [E-mail] 2000/02/01 (火) 20:39
はじめまして。
perlでメールを受信する方法を調べていたところ、こちらの掲示板を
発見しました。
お尋ねしたいことは、pop3サーバーからメールを受信し、そのメールの
添付ファイルをWindowsのフォルダに保存する方法です。
UNIXやCGIの経験が全く無い素人なもので、なかなかうまくいきません。
参考になるURLや書籍等もありましたら教えていただけないでしょうか。
OSはWindowsNT4.0又はWindows95です。
宜しくお願いします。

No. 699 # 68user [URL] [E-mail] 2000/02/01 (火) 21:22
POP へのアクセスは
    http://X68000.startshop.co.jp/~68user/net/
を読んで下さい。

multipart メールをバラすのは、perl の MIME-tools モジュールで
できそうな感じです (試したことないので)。わからなかったら
また質問して下さい。

No. 700 # 68user [URL] [E-mail] 2000/02/01 (火) 21:33
> multipart メールをバラすのは、perl の MIME-tools モジュールで
perl の MIME-tools、IO-stringy、MailTools モジュールを
入れて、perldoc MIME::Parser のサンプル通りやってみたら
あっさりできました。モジュールに頼ると簡単だなぁ。

No. 701 # ももんが 2000/02/02 (水) 08:39
: : 信じられないけど本当の話。  
: : 私はある日BBSで1000円が200万円に、、、とかいてあるのを見た。
: : 200万円ものお金が郵送されてくると書いてあった。
: : まさか、そんなには、、、と思ってはみたが、
: : やらなきゃ何もはじまらない、まぁ、何もなくて1000円くらいの損だし、、、
: : ま、数万くらいは、、、、。と、思っていた。
: : (ホントに軽い気持ちで)だから、そのBBSのとおりにやってみた。

: : 私がやったことは、書き換えたファイル(この文書です)を
: : ニュースグループやBBSの電子掲示板などに(!!出来るだけ多くの!!)
: : アップロードした。
: : そして私はお金が来るまでどきどきしながら待っていた。
: : 私は10万円や15万円ぐらい来る時しまうところを確保していた。 
: : でも、、、。お金の入った封筒がどんどん郵便受けに入ってくるのには、
: : 仰天した。!! さて、私にいくらお金が送られてきたでしょう?
: : 10万?20万?50万?私は合計!!!約200万円!!!嘘、、、、、。
: : このお金を目にしてまだしんじらんないって感じ!!!

: : さて、その具体的な方法を書きます。ちゃんとファイルに保存しておくと良いよ。
: : あとで役に立ちます。君が払わなくてはいけない物は、5枚の切手、封筒、1000円。
: : それを、リストの5人に、合法的に現金を送る方法で送る。そして、君の名前と
: : 住所が書いてある方のファイルをいろいろなところにアップロードする。
: : そうしたらたった1000円あげるだけで150万円から250万円の戻りが3〜5週間で
: : 届きます!!!!

: : では具体的にどうすれば良いか?
: : * **名前と住所のリストは最後にあります。***
: : まず一枚の紙に「私をあなた方のリストに入れてください。」これを書くことにより、
: : このスーパーマネーシステムは成り立ちます。(合法になります。) 
: : あなたは200円をランダムに払うのではなくこのシステムに払うのです。
: : そうそう、紙に自分の名前と住所とあなたが出す人はリストの何番目にいたかを
: : 書きます。
: : 1.(あなたはリストでは、○番目にいました)と、書きます。
: : 2.(1)で書いた紙を200円にまきつけましょう。そして封筒に入れ、
: :  リストに書いてある5つの住所に送る。 紙を200円に巻きつけて、  
: :  200円を見えなくするのにはワケがあります。 
: :  郵便で現金を送ってはいけないのだ。郵便局に行って200円の5枚にしても良い。
: :  手数料10円。小為替だったらまく必要がないよ!

: : * *このステップは重要です。**
: : 3.さて、ここからが重要。よく読んで、システムを理解してね。
: :  一番上の人を消す。そして他の皆のポジションを一つずつ上げる。
: :  つまり、ポジション2の人をP1に、P3の人をP2に、P4の人をP3に、P5の人をP4に
: :  かえるということ。そしてポジション5に君の名前、住所、郵便番号、国を
: :  書きこむわけ。
: : 4.そして(3)で変えたこれのファイルをいろいろなところに出来る
: :  だけたくさんアップロードします。  

: : アップロードしたぶん自分に跳ね返ってきます。
: : 自分と他の4人にもお金が入ることになります。

: : さて皆さん、リストについては正直にしましょう!! 
: : 汚い事しなくても、お金はいっぱい入るから。ウソは絶対に辞めましょう。OK?

: : 5.ここまできたらもう後は人生楽しみましょう。
: :  お金は着々と君の郵便受けに入ってきます。

: : 初めて2週間くらいからお金が入りはじめて3〜4週間目にはお金の台風が君の
: : 郵便受けを襲います。 びっくりして叫ばないようにね。
: : お金がなくなってきたら又既に書き換えたファイルに(4)〜の行程を繰り返しましょう。
: : 絶対にこのファイルはなくさないように。
: : 何度でも使えるから。参考にしてください。
: : 名前と住所のリスト正直がこのプログラムを成功させる!!!

: : 1. 横山美由紀 〒193-0932東京都八王子市緑町401−105
: : 2. 波多野絵梨 〒860-0085熊本県熊本市高平2-16-5
: : 3. 浦西弘明 〒524ー0101滋賀県守山市今浜町2620-14-216
: : 4. 村上健一 〒014-0722秋田県仙北郡中仙町豊川字下延17-2
: : 5. 小関リノ 〒080-0834北海道帯広市稲田町西1線5番地115

: : あなたに全くマイナスはありません!!!!
: : 君にお金を送ってきた人の名前はなくさないようにしたほうが良いでしょう。 
: : みんなで公平にこのシステムを使いましょう。

: : 最後に:正直がこのシステムを成功させるのです!!!
: : もしもあなたがお金をリストの五人に出さない卑怯者だったらあなたはあまり
: : お金をもらえない。私は誰かがお金をリストの五人に送らなかったので3万円(2ヶ月後に)
: : しかもらえなかったのを知っている。それからお金をリストの5人に送ったのでリスト
: : の人たちは彼をリストに入れてあげた。そして4〜5週間後に彼は200万円以上手に入れたのです。 
: : これは本当の話ですよ!!! (ちょっとびっくり)
: : だまされたと思って1000円出せばすごい大金が手に入ります!!!(上記のことから)
: :  このチャンスを大事にしましょう!!!

No. 702 # Ta [E-mail] 2000/02/02 (水) 12:08
はじめまして。Taと申します。

whois.cgiに関して、お聞きしたいことがあるでのすが、もしよかったら教えて下さい。

私のISPは、LINUX(Redhat)を使用しているため、68Userが作られたcgiのスクリプトの
一部を変更しなければならないことに気が付きました。

オリジナルでは、'whois -h whoisserver domain'となっていますが、Linuxでは、whois
コマンドのパラメーターが違うようで、'whois domain\@whoiserver'('whois domain@whoiserver'というパラメーターも見たことがあるんですが)ということなので、スクリプト内の以下の部分のみを変更しました。


#変更前

$ret = `$whois -h $nics{$nic} $domain`;

#変更後

$ret = `$whois $domain\@$nics{$nic}`;


これにプラスして、当方のISPでは、'whois'が、'/bin'にあるので、'environment.pl'の'$whois'のパスも'/bin/whois'に変更しました。

ところが、サーバーエラーが出てしまいます。ISPで用意してあるデバックの機能(web
から行う)を利用してみたところ、以下のような結果がでました。

-----------------------------------
TEST 1: script and permissions
Passed Test 1!

TEST 2: script file format
Passed Test 2!

TEST 3: check perl path
Passed Test 3!

TEST 4: perl syntax
      String found where operator expected at t_whois.cgi line 45, near "print ""
          (Might be a runaway multi-line "" string starting on line 33)
       (Missing semicolon on previous line?)
      syntax error at t_whois.cgi line 45, near "print ""
      t_whois.cgi had compilation errors.

Your script failed one or more of the tests and could not
be automatically corrected. Please correct the errors
listed above and try again.
-----------------------------------

調べてみたところ、おそらく、変更した部分のが関係すると思うのですが・・・
原因がよく分かりません。

もし、解決方法をご存知でしたら、ご指導頂ければ助かります。

Ta

No. 703 # 68user [URL] [E-mail] 2000/02/02 (水) 13:34
> (Might be a runaway multi-line "" string starting on line 33)
> (Missing semicolon on previous line?)
「33行目から始まる "" が閉じてないのではないか?」
「前の行の最後にセミコロンを付け忘れていないか?」
ということでしょう。

> $ret = `$whois $domain\@$nics{$nic}`;
これ自体は問題ありません。

No. 704 # Ta [E-mail] 2000/02/02 (水) 14:39
68Userさん、早速のお返事有り難うございます。
スクリプトは確認したと思うのですが、再度、確認してみます。
もし、また分からないことがあれば、お聞きするかもしれませんが、
よろしくお願い致します。

Ta

No. 705 # Ta [E-mail] 2000/02/02 (水) 20:58
度々すいません。Taです。スクリプトにミスがありました。その後、デバックをしてみると、全てパスしました。

TEST 1: script and permissions
Passed Test 1!

TEST 2: script file format
Passed Test 2!

TEST 3: check perl path
Passed Test 3!

TEST 4: perl syntax
      t_whois.cgi syntax OK
Passed Test 4!

Your script has passed all 4 tests.

If your script passes these tests, and still won't run,
you might look for one or more of these common problems:
      1) make sure it can find any files or external programs it needs
      2) make sure any included perl programs also check out
      3) make sure you are writing a "Content-type:" line
            at the beginning of your output
Consult your favorite Perl/CGI book for more information.

これで動くかと思ったら、Internal Server Error・・・
う〜ん、なんでだか分かりません。environment.plは、$whoisのパスを修正するだけで、いいはずですよね。

何か、チェックしてみるところがあったら教えて下さい。

Ta

No. 706 # 68user [URL] [E-mail] 2000/02/03 (木) 06:30
とりあえず、

> open(STDOUT,"|$nkf -j");
open(STDOUT,"| /usr/local/bin/nkf -j");
> &put_header("whoisしてみよう -- $domain --");
print "Content-type: text/html\n\n";
print "<HTML>\n<HEAD><TITLE>whoisしてみよう -- $domain --</TITLE></HEAD>\n";
print "<BODY ...(略)...>\n";
> &finish_work;
print "</BODY>\n</HTML>\n";

などと書き換えて、environment.pl なしで動くようにしてみて下さい。

それはそれとして なぜ動かないかというと、CGI 経由で実行した際に
environment.pl が読み込めているかどうかが気になります。
    if ( ! require 'environment.pl' ){
        print "Content-type: text/plain\n\nCan't load environment.pl\n";
        exit;
    }
てな感じでチェックするといいでしょう。

No. 707 # dai [E-mail] 2000/02/04 (金) 22:10
初めまして〜m(_ _)m

ちょっと聞きたい事があるのですが、unixでmoにデータをセーブするにはどうすればいいんでしょうか?
環境はあるみたいなのですが、やり方が分かりません。

因みにroot権限はないです。
unixはsolarisです。

No. 708 # Ta [E-mail] 2000/02/06 (日) 00:12
68Userさん、色々とアドバイス有難うございます。

どうしてもうまくいきません。'nkf'のパスが間違っているのでしょうか?
('environment.pl'を使わない方法で行ってみました)
'whois'も、結局、調べたところ、'/bin/whois'でしたし・・・

今晩、また挑戦してみます。

No. 709 # 68user [URL] [E-mail] 2000/02/06 (日) 06:25
まずは
    #!/usr/local/bin/perl
    $|=1;
    print "Content-type: text/plain\n\n";
    print `/bin/whois yahoo.co.jp@whois.nic.ad.jp`
ここから始めましょう。これでダメなら whois の問題です。動いたら
    #!/usr/local/bin/perl
    $|=1;
    open(STDOUT,"|/usr/local/bin/nkf -j");
    print "Content-type: text/plain\n\n";
    print `/bin/whois yahoo.co.jp@whois.nic.ad.jp`
として下さい。これでダメなら nkf のパスが問題です。

whois.nic.ad.jp は JIS コードを返しますが、whois.cgi は
EUC で書かれているので、nkf で文字コードを統一しています。
なので、細かい事を言うと上の例では nkf は要りません
(スクリプトが EUC を (というか、日本語を) 出力していないから)。

> unixでmoにデータをセーブするにはどうすればいいんでしょうか?
ここらへんがヒントになるでしょうか。
    http://www.pfu.co.jp/x86/faq/
僕自身は経験がないのでわかりません。

No. 710 # へにか 2000/02/06 (日) 19:29
「HTTP クライアントを作ってみよう」と、2000/01/12(水) 20:56の
proxyに関する書き込みを参考にしたら、簡単なproxyサーバーが、
簡単に作れました。ありがとうございます!

# でも、数行の追加じゃ済まなかったなぁ。もっと修行すれば
# 出来るようになるんだろうけど・・・

No. 711 # has 2000/02/07 (月) 01:03
なにやらいろいろ大変そうですね。
ところで掲示板の話なんですが…。
ログの管理とか、なんかいい案浮びました?
俺はあんま考えてないですけど。

それとうちの掲示板、過去ログ一覧をちょっと
並べ替えてみました(なにやってんだか…)。
もしよかったら使ってやって下さい。
それではまた。

No. 712 # 68user [URL] [E-mail] 2000/02/07 (月) 04:31
> # でも、数行の追加じゃ済まなかったなぁ。
そうでしたか。実際に作ってみたわけではないので、そうかもしれません。
ただ、実用で使おうとすると、マルチスレッド化しないといけませんが、
その場合は結構行数は増えますね。

> ログの管理とか、なんかいい案浮びました?
ログを1つのファイルにまとめるか、1.txt・2.txt…と分けるか、ですか?
実際のところ、それぞれメリット・デメリットがありますから、難しいですね。
# <Email ....> 方式はやめようと思ってます。<Email>....</Email> スタイルに
# するつもり。

それはそれとして、後者のログ管理方式にしてくれ、ということなら
どちらでも選べるように改造しますけど どうします?

> 過去ログ一覧をちょっと並べ替えてみました
個数が多くなると、見やすいですね。参考にさせていただきます。

ところで ML の件ですが、has のところでやってもらえません?
うちは後任の管理者がいないので、この時期に始めるのはあきらめました。

No. 713 # かりり [E-mail] 2000/02/08 (火) 05:38
やっと、自力でCGI設置出来ました。
CGIをやろうとしてから実に二年もかかってるんですけど
パーミッションとperlと言う言葉の意味がやっと分かりました
次は自作に燃えて居たら、CGI プログラムのはじめの一歩
って言うコンテンツが在ったので嬉しいです。perlパソに入れて
CGIの本買ってきますよー。なんか、CGI設置できたのが
嬉しくて、68userさんに報告がしたかったのですー
ヒトの作ったCGIがうごいたってだけなんですけど、嬉しかったです。

No. 714 # 68user [URL] [E-mail] 2000/02/09 (水) 00:16
> perlパソに入れて CGIの本買ってきますよー。
それはよいことで御座います。やはり自作するのが一番楽しいわけで、
ぜひ勉強してみて下さい。

ただし、他人に聞く前に「まず本を読む、まず自分で調べる」という
ことは必ず行うようにして下さい。自分で調べられない・自分で
調べる気のない人は、上達しませんから。

Prev< No. 698〜714> Next  [最新発言に戻る] [過去ログ一覧]