電子書籍の厳選無料作品が豊富!

レンタルサーバ上でSSHをじっこうし
NET::POP3が使えるかどうか調べたところ
( perl -MNET::POP3 -e 'print $NET::POP3::VERSION'

インストールされていないことが分かりました
レンタルサーバなので、勝手にインストールすることもできないので NET::POP3を代用できるスクリプトがあればよいのですがそのようなスクリプトはありますか?またPOP3.pmを自分のディレクトリにおくだけで動かすようにするにはどのようにすればよいのでしょうか。
よろしくおねがいします。

A 回答 (3件)

ブラウザで実行されてるんでしょうか?



print "Content-type=text/html\n\n";

これは、
print "Content-type: text/html \n\n";
ではないでしょうか?
とりあえずここがあやしいような・・
    • good
    • 0

連続ですみません、書き忘れです。



> perl -MNET::POP3 -e 'print $NET::POP3::VERSION'

perlのモジュールは大文字と小文字を識別しますので、このコマンドでは確認できません。以下ではどうでしょう?

perl -MNet::POP3 -e 'print "1?n"'

libnetは確か標準のモジュールなので、恐らくインストールされているのではないかと・・・。

この回答への補足

回答ありがとうございます。
どうやらNet::POP3がはいっているそうです。(2.27)

http://digit.que.ne.jp/work/index.cgi?Perl%A5%E1 …
を参考にして

#!/usr/bin/perl
use Net::POP3;
print "Content-type=text/html\n\n";
my $server = '';
my $account = '';
my $password = '';
my $protocol = '';
my $output = '';

&main($server, $account, $password, $protocol, $output);

sub main {
my ($server, $account, $password, $protocol, $output) = @_;
mkdir($output, 0777) unless (-d $output);
my $pop3 = Net::POP3->new($server) or die;
my $login = (lc($protocol) eq 'apop') ? 'apop' : 'login';
my $count = $pop3->$login($account, $password);
my $messages = $pop3->list();
foreach $id (sort (keys %{$messages})) {
my $message = $pop3->get($id);
my $outfile = sprintf('%s/%d_%s.eml', $output, $$, $id);
if (open(OUT, ">$outfile")) {
print OUT @{$message};
close OUT;
}
#$pop3->delete($id);
}
$pop3->quit;
}
print "OK";
exit;

というスクリプトを実行させました。ローカルではできますが、サーバにアップするとできません。
500 Internal Server Error がでます。原因は何が考えられるでしょうか

補足日時:2005/10/09 04:43
    • good
    • 0

> What machines support libnet ?


>
> libnet itself is an entirely perl-code distribution so it should
> work on any machine that perl runs on.

Net::POP3(libnet)のドキュメントにはこうありますので、コピーするだけで動く気がします。

参考URLからソースを落とし、Net/以下を丸ごとアップして見て下さい。一発で動くかどうかは運次第ですが。

[ディレクトリ構成例]
XXXX.cgi
Net/Cmd.pm
Net/Config.pm
... (以下略)
Net/Ftp/A.pm
... (以下略)

参考URL:http://search.cpan.org/~gbarr/libnet-1.19/
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!