dポイントプレゼントキャンペーン実施中!

PHPで外部SMTPサーバーを利用したメールの送信方法を調べています。
過去の事例からPEARを使用すれば良いことが分かりPEARをインストールしたのですが、
実行すると「$smtp = Mail::factory("smtp", $params);」の所で、
「Fatal error: Class 'Mail' not found in C:\Inetpub\wwwroot\Mail.php on line 14」と
なってしまいます。

PEARのインストール後はサーバーの再起動は行っております。

※環境
OS:WindowsXP Pro SP3
WebServer:IIS
PHP:Ver.5.2.6

※PEARのインストール状態
C:\Documents and Settings\horie>C:\php\pear list
PHP Warning: Module 'mbstring' already loaded in Unknown on line 0
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE VERSION STATE
Archive_Tar 1.3.2 stable
Console_Getopt 1.2.3 stable
PEAR 1.7.1 stable
Structures_Graph 1.0.2 stable

※Mail.php
<?php
$params["host"] = "smtp.mail.yahoo.co.jp";
$params["auth"] = true;
$params["username"] = "AAA-BBB";
$params["password"] = "9999";
$sender = "aaa**@yahoo.co.jp";
$recipient = "bbb**@yahoo.co.jp";
$subject = "TEST";
$subject = mb_convert_encoding($subject, "jis", "sjis");
$subject = mb_encode_mimeheader($subject, "jis");
$message = "テストメッセージ";
$message = mb_convert_encoding($message, "jis", "sjis");
require_once 'Mail.php';
$smtp = Mail::factory("smtp", $params);
if (PEAR::isError($smtp)) die($smtp->getMessage());
$headers['From'] = $sender;
$headers['Subject'] = $subject;
$headers['MIME-Version'] = "1.0";
$headers['Content-Type'] = 'text/plain; charset="iso-2022-jp"';
$headers['Content-Transfer-Encoding'] = "8bit";
$headers['X-Mailer'] = "PHP PEAR/Mail(smtp)";
$error = $smtp->send($recipient, $headers, $message);
if (PEAR::isError($error)) die($error->getMessage());
exit("メッセージを送信しました");
?>

A 回答 (1件)

>require_once 'Mail.php';


自分がMail.phpなのに自分自身を呼んでるのですか?

Mailクラスにfactory関数は宣言されていますか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>>require_once 'Mail.php';
>自分がMail.phpなのに自分自身を呼んでるのですか?

お恥ずかしい限りです。
SendMail.phpとしたら問題なく動作しました。
誠に申し訳ございません。

お礼日時:2008/10/29 16:11

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