• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:pear:Mailを使用してのメールフォーム)

PHPでメールフォームを作成する方法 | Pear:Mailのエラーについて

このQ&Aのポイント
  • Mac OS X 10.7.2でPHPを使用してメールフォームを作成しようとしていますが、Pear:Mailのエラーが発生してしまいます。
  • ソースコードを確認すると、SMTPサーバーの設定やメールの送信先などは正しく設定されているようです。
  • しかし、PEAR_Errorクラスにsend()メソッドが定義されていないため、エラーが発生しています。PHPやPEARのインストールが正しく行われているか確認しましょう。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

sendってメソッドがないと言ってるわけなので、ほぼ間違いなく $mailObject = Mail::factory("smtp", $params); の部分で、失敗しています。 直後の部分で、下記のような感じでオブジェクトが作成できているかどうか確認する必要があります。 if (PEAR::isError($mailObject)){ ~~エラー処理~~~ } たぶん、オブジェクトの作成に失敗している原因はファイルが不足している事だと思います。 SMTPを使う場合、以下のファイルも必要です。 http://pear.php.net/package/Net_SMTP/ http://pear.php.net/package/Net_Socket/ http://pear.php.net/package/Auth_SASL/ PEARの配布サイトで、Dependencies for ~と書かれているものは、基本的に全部ダウンロードしなければ足りないと思って間違いないです。

その他の回答 (1)

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

GMailのサーバ宛でポート587で送信できるかどうかは知りませんが(SMTP_AUTHを使うならポート465ではないでしょうか?)、それはともかく >$mail = $mailObject -> send($recipients, $headers, $body); (試している余裕がなく申し訳ないのですが)とりあえずアロー演算子の前後の空白を取り除いてみてください。 $mail = $mailObject->send($recipients, $headers, $body); あるいは「56行目」がどの行がを示してください。