プロが教えるわが家の防犯対策術!

perl初心者でまた質問させていただきます。「送信」ボタンをクリックすると、HPで入力してもらった情報をメールで送信するcgiを作成しました。ただ、実行すると、
Can't locate object method "new" via package "Net::SMTP" (perhaps you forgot to load "Net::SMTP"?) at C:\www\cgi-bin\downloadmail.cgi line 62.
というエラーが出ます。
cgiは、
my $smtp = Net::SMTP->new($192.1.1.1);
$smtp->mail($email);
$smtp->to($to);

$smtp->data();
$smtp->datasend("From:$email\n");
$smtp->datasend("To:***@***.co.jp\n");
$smtp->datasend("Subject:テストメール\n"); #件名
$smtp->datasend("Content-Type: text/plain; charset=iso-2022-jp\n\n");
$smtp->datasend("テストメール\n");
$smtp->dataend();
$smtp->quit;
というものです。どなたか分かりましたらお願いします。

A 回答 (2件)

>Can't locate object method "new" via package "Net::SMTP" (perhaps you forgot to load "Net::SMTP"?) at C:\www\cgi-bin\downloadmail.cgi line 62.



Net::SMTPがないですよってことです。

このモジュールいれないと動きません・・最低でも・・
http://search.cpan.org/~gbarr/libnet-1.19/Net/SM …

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

Net::SMTPモジュールのロードを指示する


use Net::SMTP;
は書いてある?

1行目の
#!/usr/bin/perl
の下あたりに
use Jcode;
って書いてあると思うので、そこを
use Net::SMTP;
use Jcode;
にしましょう。

この回答への補足

ご回答ありがとうございました。
use Net::SMTP;を付け加えたところさっきのエラーは出なくなりました。ただ次に、
Can't call method "mail" on an undefined value at C:\www\cgi-bin\downloadmail.cgi line 64.

のエラーが出てしまいました。"mail"も何か宣言してあげなければならないのでしょうか?何度も申し訳ありませんがよろしくお願いします。

補足日時:2006/06/12 11:47
    • good
    • 0

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