2010-05-24 29 views
22

Bir PHP komut dosyasından posta gönderirken sorunla karşılaştım. Bazı veriler:Hata ayıklama PHP Mail() ve/veya PHPMailer

Paylaşılan sadece sağlayıcı paneli barındırma, hiçbir SSH erişimini barındıran
  • PHP sürümü 5.2.5
  • Geçen yıl aynı
  • barındırma posta göndererek hiçbir sorunları vardı bir site inşa
  • Alanın “domain.com” olduğunu ve özel adresimin şu koddaki anonimity adına “[email protected]” olduğunu varsayalım. Az söylemek baffling Hangi

    Message sending failed Could not instantiate mail function.

    : ne alıyorum buraya

    <?php 
    error_reporting(E_ALL); 
    ini_set("display_errors", 1); 
    
    $to = "[email protected]"; 
    $subject = "Hi"; 
    $body = "Test 1\nTest 2\nTest 3"; 
    $headers = 'From: [email protected]' . "\r\n" . 
        'errors-to: [email protected]' . "\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("[email protected]", "Agos"); 
    $mail->SetFrom("[email protected]","My Site"); 
    $mail->Subject = "Test Message"; 
    $mail->Body = $message; 
    $mail->Send(); 
    ?> 
    

    Ve:

İşte kod. En azından bazı anlamlı hatalar elde etmek için yapabileceğim bir şey var mı? Sınıfımdaki kod neden dosyamda gösteriliyor?

+0

Önemli hata: 20. satırda /mailtest.php bulunmayan Class 'PHPMailer' ? 20 numaralı hatta ne var? –

+0

@Mihai satır 20, $ mail = yeni PHPMailer(); – Agos

cevap

37

Sınıf.phpmailer.php dosyasının bozuk olduğu anlaşılıyor. the latest version'u indirip tekrar deneyeceğim. Hep PHPMailer SMTP özelliğini kullandım

:

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

Ve ayıklama bilgi gerekiyorsa:

$mail->SMTPDebug = 2; // enables SMTP debug information (for testing) 
         // 1 = errors and messages 
         // 2 = messages only 
+0

her şey işe yaradı. Teşekkürler! – Agos