31

PHP スクリプトからメールを送信する際に問題が発生しました。いくつかのデータ:

  • 共有ホスティング、SSH アクセスなし、ホスティング プロバイダー パネルのみ
  • PHP バージョン 5.2.5
  • 昨年、同じホスティングで問題なくメールを送信できるサイトを構築しました
  • 次のコードでは、匿名性のために、ドメインが「domain.com」で、私のプライベート アドレスが「myaddress@mydomain.com」であるとします。

コードは次のとおりです。

<?php
error_reporting(E_ALL); 
ini_set("display_errors", 1);

$to = "myaddress@mydomain.com";
$subject = "Hi";
$body = "Test 1\nTest 2\nTest 3";
$headers = 'From: info@domain.com' . "\r\n" .
    'errors-to: myaddress@mydomain.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

if (mail($to, $subject, $body, $headers)) {
    echo("Message successfully sent");
} else {
    echo("Message sending failed");
}

require('class.phpmailer.php');
$message = "Hello world";
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
$mail->AddAddress("myaddress@mydomain.com", "Agos");
$mail->SetFrom("info@domain.com","My Site");
$mail->Subject = "Test Message";
$mail->Body = $message;
$mail->Send();
?>

そして、ここに私が得るものがあります:

メッセージの送信に失敗しました メール機能をインスタンス化できませんでした。

控えめに言っても、これは困惑しています。少なくともいくつかのより意味のあるエラーを取得するためにできることはありますか? クラスのコードがファイルに表示されるのはなぜですか?

4

1 に答える 1

53

class.phpmailer.php ファイルが壊れているようです。最新バージョンをダウンロードして、もう一度試してみます。

私はいつも phpMailer の SMTP 機能を使ってきました:

$mail->IsSMTP();
$mail->Host = "localhost";

デバッグ情報が必要な場合:

$mail->SMTPDebug  = 2; // enables SMTP debug information (for testing)
                       // 1 = errors and messages
                       // 2 = messages only
于 2010-05-24T11:13:19.080 に答える